我现在做一个qq登陆界面,想让button和边框带上点透明,请各位高手指教下,要用jdk1.6自带的功能,不用jni和jna

解决方案 »

  1.   

    button = new JButton(new ImageIcon("/ico.gif")); 不行的话。
    查下API
      

  2.   

    貌似不行,我想要随意调整button的透明度,就像调整窗口的透明度一样,不过button的我不会
    给你看看用jdk1.6设置窗口透明的一个列子
    public class TranslucentWindow extends JFrame {   
        public TranslucentWindow() {   
            super("透明窗体");   
            this.setLayout(new FlowLayout());   
            this.add(new JButton("按钮"));   
            this.add(new JCheckBox("复选按钮"));   
            this.add(new JRadioButton("单选按钮"));   
            this.add(new JProgressBar(20, 100));   
            this.setSize(new Dimension(400, 300));   
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   
        }   
      
        public static void main(String[] args) {   
            JFrame.setDefaultLookAndFeelDecorated(true);   
            SwingUtilities.invokeLater(new Runnable() {   
                public void run() {   
                    Window w = new TranslucentWindow();   
                    w.setVisible(true);   
                    //在这里改变第二个参数的大小就可以改变透明度了
                    com.sun.awt.AWTUtilities.setWindowOpacity(w, 0.6f); 
                }   
            });   
        }   
    这个时jdk1.6自带的 
      
    }
      

  3.   


    public class TranslucentButton extends JButton {    BufferedImage buttonImage = null;    public TranslucentButton(String label) {
            super(label);
            setOpaque(false);
        }    public void paint(Graphics g) { Graphics2D g2d  = (Graphics2D)g;
    AlphaComposite newComposite =
        AlphaComposite.getInstance(AlphaComposite.SRC_OVER, .5f);//在这里设置透明度
    g2d.setComposite(newComposite);        super.paint(g2d);    }

      

  4.   

    我想问下这位大哥 ,你有jdk1.6u10 的api么 我怎么找都找不到 。。