在用Java的Swing开发程序时,我使用了很多个JLabel来铺满整个界面以实现图片的显示,但现

2024-12-12 00:23:19
推荐回答(3个)
回答1:

其实你不用添加jlabel,直接方jpanel就可以      
你可以重写 jpanel里面的 paintComponent()方法

public void paintComponent(Graphics g){
     super.paintComponent(g);
     Graphics2D gr = (Graphics2D) g;
    gr.drawImage(img, x, y, width, height); //x ,y 是坐标   
    //想显示在上一张图片上面时
    gr.drawImage(img1, x, y, width, height); //只要保证这张图片比上一张小就行,大了就覆盖了
    
    至于颜色,最简单的就是
    gr.setPaint(new color(0,0,0,0.5f))//前面三个就是RGB的数值,最后一个是透明度的数值
    
    //想要上面显示文字?
    gr.drawString(str, x, y);//str就是字符串  x ,y 坐标
    //当然 前提你可能会选择字体颜色和大小
    gr.setColor(Color.RED);
    gr.setFont(new Font("Arial Black",Font.ITALIC, 50));
    
    //当然还有一种透明,可以设置图片透明  要在它后面执行
    AlphaComposite newComposite = AlphaComposite.getInstance(
    AlphaComposite.SRC_OVER, 0.5f);//在这里设置透明度
    gr.setComposite(newComposite);
    
    有些地方是我手敲的 你自己注意大小写
       
}

回答2:

放一个JPanel,再放java组件Jlabel

回答3:

用PS