SWING透明窗体,颜色渐变。
2014-05-06 12:38
369 查看
创建完全透明窗体,主要先了解以下步骤:
设置JFrame窗口完全透明:AWTUtilities.setWindowOpaque(frame, false);
设置JPanel窗口半透明: G2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f));
设置JPanel窗体是否透明透明:setOpaque(false);
设置JPanel的Paint颜色渐变使用:GradientPaint(0, 0, color, width, height, color1, false);
效果如下:
设置JFrame窗口完全透明:AWTUtilities.setWindowOpaque(frame, false);
设置JPanel窗口半透明: G2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f));
设置JPanel窗体是否透明透明:setOpaque(false);
设置JPanel的Paint颜色渐变使用:GradientPaint(0, 0, color, width, height, color1, false);
效果如下:
import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Dimension; import java.awt.GradientPaint; import java.awt.Graphics; import java.awt.Graphics2D; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import com.sun.awt.AWTUtilities; public class Test2 extends JPanel{ public Test2() { // TODO 自动生成构造函数存根 this.setLayout(null); this.setOpaque(false); JButton button=new JButton("xxxxxxxx"); button.setBounds(0, 0, 100, 100); this.add(button); setBackground(Color.red); } private GradientPaint paint; public Color color = Color.CYAN; public Color color1 = Color.WHITE; @Override public void paint(Graphics g) { // TODO 自动生成方法存根 Graphics2D g2 = (Graphics2D) g.create(); g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f)); super.paint(g2); int height = getHeight(); int width = getWidth(); setColor(color, color1, width, height); g2.setPaint(paint); g2.fillRoundRect(0, 0, this.getWidth() - 100, this.getHeight() - 100, 25, 25); int[] x1={this.getWidth() - 200, this.getWidth() - 200+30,this.getWidth() - 200+60}; int[] y1={this.getHeight() - 100, this.getHeight() - 100,this.getHeight() - 100+60}; g2.drawPolyline(x1, y1, 3); g2.fillPolygon(x1, y1, 3 ); } private void setColor(Color color, Color color1, int width, int height) { paint = new GradientPaint(0, 0, color, width, height, color1, false); } public static void main(String[] args) { JFrame frame=new JFrame() { // @Override // public void paint(Graphics g) { // // TODO 自动生成方法存根 半透明 // Graphics2D G2=(Graphics2D) g.create(); // G2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, // 0.5f)); // super.paint(G2); // } };; frame.setUndecorated(true); frame.add(new Test2()); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(new Dimension(800,600)); AWTUtilities.setWindowOpaque(frame, false); frame.setVisible(true); } }
相关文章推荐
- VC++窗体实现由完全透明到半透明的渐变显示
- ObservableScrollView滑动头部颜色从透明渐变成白色
- 一个模仿图片透明渐变做的表格颜色渐变效果 js脚本特效
- 在C#填充窗体为渐变颜色
- swing 设置背景颜色渐变的方法
- 关于Swing实现透明窗体
- JDK 6 u10 中 Swing最新特性:增加透明窗体及不规则窗体功能
- Java Swing中的透明窗体(Windows中消息提示框的制作)
- Android之绚丽的图片游览效果--有点像W7效果,透明的倒影,层叠的图片,渐变的颜色透明度
- c#按钮透明及窗体关闭时产生透明渐变
- Android之绚丽的图片游览效果--有点像W7效果,透明的倒影,层叠的图片,渐变的颜色透明度
- CSS颜色透明渐变
- Swing 透明窗体和不规则窗体
- JDK 6 u10 中 Swing最新特性:增加透明窗体及不规则窗体功能:com.sun.awt.AWTUtilities
- VC++窗体背景颜色渐变
- VC++窗体背景颜色渐变 .
- Swing制作高仿QQ界面包含主界面、聊天窗口、系统设置窗口|圆角界面|透明|颜色|渲染|换肤
- Android Gallary图片游览效果--透明的倒影,层叠的图片,渐变的颜色透明度
- 关于Swing实现透明窗体的。我也很喜欢,收藏!
- Swing 透明窗体实现