如题

解决方案 »

  1.   

    class FLabel extends JLabel{
    public FLabel(String label){
    super(label);
    setOpaque(false);
    }
            // other constructor @Override public void paintComponent(Graphics g){
    BufferedImage image = new BufferedImage(getWidth(),getHeight(),BufferedImage.TYPE_INT_ARGB);
    Graphics2D g2d = image.createGraphics();
    g2d.setColor(g.getColor());
    super.paintComponent(g2d);
    Graphics2D g2 = (Graphics2D) g;
    g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,0.8f));
    g2.drawImage(image,0,0,null);
    }
    }
      

  2.   

    label是awt中的,不支持透明
    JLabel是swing中的,支持透明,JLabel默认就是透明的
    swing中除了JFrame没有透明,其他组件可以设置setOpaque(true)为不透明,setOpaque(false)为透明;