「java图形阴影」图形的阴影

博主:adminadmin 2022-11-30 07:00:09 60

今天给各位分享java图形阴影的知识,其中也会对图形的阴影进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

如何去掉Java的JTree的阴影

通过属性修改的方法我还没有找到,一会再试一下,如果有结果给你发消息。

我能过下面的方式也实现了你的要求,实现TreeCellRenderer,将回的对象设置成透明的label

下边是代码,但这样会有一个问题。就是树的节点都变成了子节点的样子。

即本来父节点是个文件夹的样子,现在统统变成子节点的样子了,

如果想改变,就需要重写DefaultMutableTreeNode的

public boolean isLeaf() {

}

与这个方法返回值有关。

import java.awt.Component;

import javax.swing.JLabel;

import javax.swing.JTree;

import javax.swing.tree.DefaultMutableTreeNode;

import javax.swing.tree.TreeCellRenderer;

public class CellRenderer implements TreeCellRenderer {

public Component getTreeCellRendererComponent(JTree tree, Object value,

boolean selected, boolean expanded, boolean leaf, int row,

boolean hasFocus) {

DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;

JLabel label = new JLabel(node.toString());

label.setOpaque(false);

return label;

}

}

如何在java Graphics2D 画出文字的阴影黑边效果

你的电脑系统上要有那个字体,java才可以设置。

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment ();

String [] fontList = ge.getAvailableFontFamilyNames ();

用这个看看你电脑上的字体吧。

java怎么给窗体边框四周添加阴影和半透明

有各种 Border 可以写的。。。。。。。。。。。

javax.swing.border

Interface Border

All Known Implementing Classes:

AbstractBorder, BasicBorders.ButtonBorder, BasicBorders.FieldBorder, BasicBorders.MarginBorder, BasicBorders.MenuBarBorder, BasicBorders.RadioButtonBorder, BasicBorders.RolloverButtonBorder, BasicBorders.SplitPaneBorder, BasicBorders.ToggleButtonBorder, BevelBorder, BorderUIResource, BorderUIResource.BevelBorderUIResource, BorderUIResource.CompoundBorderUIResource, BorderUIResource.EmptyBorderUIResource, BorderUIResource.EtchedBorderUIResource, BorderUIResource.LineBorderUIResource, BorderUIResource.MatteBorderUIResource, BorderUIResource.TitledBorderUIResource, CompoundBorder, EmptyBorder, EtchedBorder, LineBorder, MatteBorder, MetalBorders.ButtonBorder, MetalBorders.Flush3DBorder, MetalBorders.InternalFrameBorder, MetalBorders.MenuBarBorder, MetalBorders.MenuItemBorder, MetalBorders.OptionDialogBorder, MetalBorders.PaletteBorder, MetalBorders.PopupMenuBorder, MetalBorders.RolloverButtonBorder, MetalBorders.ScrollPaneBorder, MetalBorders.TableHeaderBorder, MetalBorders.TextFieldBorder, MetalBorders.ToggleButtonBorder, MetalBorders.ToolBarBorder, SoftBevelBorder, StrokeBorder, TitledBorder

JAVA swing怎么设置边框阴影效果

建立一个基于对话框的工程MultiThread6,在对话框IDD_MULTITHREAD6_DIALOG中加入一个按钮IDC_UI_THREAD,标题为“用户界面线程”

右击工程并选中“New Class…”为工程添加基类为CWinThread派生线程类CUIThread。

各位大虾,请问如何用Java实现阴影效果 0

JS实现阴影是这个 括号后面是括号内可以填写的参数 box-shadow:(inset内阴影)水平偏移量 垂直偏移量 羽化范围 阴影增加面积 颜色

Android如何纯java代码实现字体阴影效果

Android实现纯java代码字体阴影效果,主要是通过activity的draw方法,进行重新绘制,如下代码:

package canvas.test;

import android.app.Activity;

import android.os.Bundle;

import android.content.Context;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.graphics.Canvas;

import android.graphics.Color;

import android.graphics.Paint;

import android.graphics.PorterDuff;

import android.graphics.PorterDuff.Mode;

import android.graphics.PorterDuffXfermode;

import android.graphics.Rect;

import android.graphics.RectF;

import android.graphics.drawable.Drawable;

import android.view.View;

public class ShaderEffect extends Activity {

  @Override

  public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(new ImageEffect(this));

  }

  class ImageEffect extends View{

    Paint paint; 

    public ImageEffect (Context context){

      super(context);

      paint = new Paint();//初始化画笔,为后面阴影效果使用。

      paint.setAntiAlias(true);//去除锯齿。

      paint.setShadowLayer(5f, 5.0f, 5.0f, Color.BLACK);//设置阴影层,这是关键。

      paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));

    }

    @Override

    public void onDraw(Canvas canvas){

      super.onDraw(canvas);

      int posX = 20;

      int posY = 50;

      int PicWidth,PicHegiht; 

      Drawable drawable = getResources().getDrawable(R.drawable.button);

      Drawable dbe = getResources().getDrawable(R.drawable.button).mutate();//如果不调用mutate方法,则原图也会被改变,因为调用的资源是同一个,所有对象是共享状态的。

      Drawable drawTest = getResources().getDrawable(R.drawable.button);

      Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.button);

      PicWidth = drawable.getIntrinsicWidth();

      PicHegiht = drawable.getIntrinsicHeight();

      drawTest.setBounds(posX, (2 * posY) + PicHegiht, posX + PicWidth, (2 * posY) + 2 * PicHegiht );

      drawable.setBounds(posX,posY,posX+PicWidth,posY+PicHegiht);

      dbe.setBounds(0, 0, PicWidth, PicHegiht);

      canvas.drawColor(Color.WHITE);//设置画布颜色

      canvas.save(Canvas.MATRIX_SAVE_FLAG);

      dbe.setColorFilter(0x7f000000,PorterDuff.Mode.SRC_IN);

      canvas.translate(posX + (int)(0.9 * PicWidth/2), posY + PicHegiht/2);//图像平移为了刚好在原图后形成影子效果。

      canvas.skew(-0.9F, 0.0F);//图像倾斜效果。

      canvas.scale(1.0f, 0.5f);//图像(其实是画布)缩放,Y方向缩小为1/2。

      dbe.draw(canvas);//此处为画原图像影子效果图,比原图先画,则会在下层。

      drawable.clearColorFilter();

      canvas.restore();

      canvas.save(Canvas.MATRIX_SAVE_FLAG);

      drawable.draw(canvas);//此处为画原图像,由于canvas有层次效果,因此会盖在影子之上。

      canvas.restore();

      //默认无效果原图

      canvas.save(Canvas.MATRIX_SAVE_FLAG);

      drawTest.draw(canvas);

      canvas.restore();

      //图片阴影效果

      canvas.save(Canvas.MATRIX_SAVE_FLAG);

      //Rect rect = new Rect(2*posX + PicWidth, 2*posY + PicHegiht, 2*posX + 2*PicWidth, 2*posY + 2*PicHegiht);//此为理论上的阴影图坐标

      Rect rect = new Rect(2*posX + PicWidth + 3, 2*posY + PicHegiht + 3, 2*posX + 2*PicWidth - 2, 2*posY + 2*PicHegiht - 2);

      //由于图片的实际尺寸比显示出来的图像要大一些,因此需要适当更改下大小,以达到较好的效果

      RectF rectF = new RectF(rect);

      canvas.drawRoundRect(rectF, 10f, 10f, paint);//在原有矩形基础上,画成圆角矩形,同时带有阴影层。

      canvas.drawBitmap(bmp, 2*posX + PicWidth, 2*posY + PicHegiht, null);//画上原图。

      canvas.restore();

    }

  }

}

java图形阴影的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于图形的阴影、java图形阴影的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-30,除非注明,否则均为首码项目网原创文章,转载请注明出处。