设置JLabel或其他组件透明度
来源:互联网 发布:唯一网络上市 编辑:程序博客网 时间:2024/05/17 06:51
在Java swing中编程中可以通过重写组件的paintComponent(Graphics g)方法来达成调节组件透明度的效果,下面是我写的一个demo:
import java.awt.AlphaComposite;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.Image;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;public class MainFrame extends JFrame{ JPanel cp = (JPanel)this.getContentPane(); ImageLabel label; ImageIcon icon; JButton button; public MainFrame(){ init(); } public void init(){ this.setSize(500, 300); this.setLocation(200, 100); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setLayout(null); //设置图片并调整图片的尺寸 icon = new ImageIcon(new ImageIcon("mq.jpg").getImage() .getScaledInstance(180, 180, Image.SCALE_DEFAULT)); label = new ImageLabel(icon); label.setBounds(10,10,200,200); label.setAlpha(0.5f); cp.add(label); this.setVisible(true); } public static void main(String[] args) { new MainFrame(); }}class ImageLabel extends JLabel{ public ImageLabel(ImageIcon icon){ super.setIcon(icon); } private AlphaComposite cmp = AlphaComposite.getInstance(AlphaComposite.SRC_OVER,1); private float alpha; public void setAlpha(float alpha) { this.alpha = alpha; if (isVisible()) paintImmediately(getBounds()); } @Override protected void paintComponent(Graphics g) { // TODO Auto-generated method stub Graphics2D g2d = (Graphics2D)g; g2d.setComposite(cmp.derive(alpha)); super.paintComponent(g2d); }}
上面的例子是对一个图片的JLabel的透明度调整为50%;其他的组件也可以用类似的方法进行调整。
0 0
- 设置JLabel或其他组件透明度
- JPanel 添加JLabel 设置组件字体颜色
- #java#设置textfield或其他组件字体的颜色
- Drawable设置透明度影响到其他界面
- 设置jlabel文字颜色
- JLabel设置背景色
- 给UIView 设置透明度,不影响其他sub views
- 给UIView 设置透明度,不影响其他sub views
- 设置Button或ImageButton的背景颜色的透明度
- 设置透明度
- 透明度设置
- 设置透明度
- 透明度设置
- 设置透明度
- 为jlabel设置背景颜色
- java中JLabel设置背景图片
- JLabel
- JLabel
- 为什么Java中1000==1000为false而100==100为true?
- 使用Doxygen为VHDL工程生成文档模板
- Typedef Struct 用法详解和用法小结
- 下载编译 Qt 5 for Android 并新建工程
- 【OC语言】关于block的使用
- 设置JLabel或其他组件透明度
- hdu 5593 ZYB's Tree
- spring依赖注入总结
- 【C语言】冒泡排序及优化
- 深入浅出设计模式(八):10.合成模式(Composite) 11.享元模式(Flyweight)
- 【UE4官方文档翻译】Introduction to C++ Programming in UE4 (介绍UE4中的C++编程)
- react(1)-broswerify+reactify+gulp搭建react的workflow+React入门资料集合
- 《Android开发艺术探索》读书笔记 (4) 第4章 View的工作原理
- ORA-12541解决方法