JAVA怎样让JLabel透明,显示出下面的JPanel背景 5

voidinit(){JFrameWINDOW=newJFrame("WRITE");WINDOW.setTitle("WRITE");WINDOW.setBounds(... void init(){ JFrame WINDOW=new JFrame("WRITE"); WINDOW.setTitle("WRITE"); WINDOW.setBounds(700,240,360,580); WINDOW.setLayout(null); WINDOW.dispose(); WINDOW.setUndecorated(true); WINDOW.setVisible(true); JPanel JP=new JPanel(); JP.setBounds(0,0,360,500); JP.setOpaque(false); WINDOW.add(JP); /*JPanel JP1=new JPanel(); JP1.setBounds(0,0,360,237); JP.add(JP1);*/ JLabel SIGN=new JLabel("WRITE"); SIGN.setFont(new Font("Cooper Black",Font.PLAIN,50)); JP.add(SIGN); JLabel BACKGROUND=new JLabel(); JP.add(BACKGROUND); Icon icon=new ImageIcon("D:\\图片2.jpg"); BACKGROUND.setIcon(icon); 这是运行出来的结果那个北京图片本身是在最底层,我想让这个Label只显示“WRITE”在背景图片上,把灰色部分去掉,怎么能够实现。谢谢 展开
 我来答
匿名用户
2017-12-31
展开全部
import javax.swing.*;

import java.awt.*;

public class BackGround extends JFrame {
Container content;
Toolkit toolkit;
JLabel bkLabel = new JLabel(); // 背景图片标签
JLabel horseLabel = new JLabel();
JButton bButton;
int screenWidth, screenHeight, WIDTH, HEIGHT;
ImageIcon backImage, bImage;
BackGround() {
content = getContentPane();
toolkit = Toolkit.getDefaultToolkit();
screenWidth = toolkit.getScreenSize().width;
screenHeight = toolkit.getScreenSize().height;
bImage = new ImageIcon("pic/logo.jpg");
//我的笨方法
JLabel image_lab = new JLabel(new ImageIcon("D:\\pic\\logo.jpg"));
//编译的时候会帮你把文件拷贝到classes目录下面去
//同时要达到LZ的效果很简单,两个Panel。直接覆盖的话,如果覆盖面板小于底层面板,当鼠标移动到底层面板区域。则显示了,所以建议加上 //setEnabled(false);这样做LZ你不觉得复杂了吗?你直接在我的image_lab 上加载组件不行吗?或者你先都把组件隐藏了,等用户触发事件再显//示也可以啊。
//
backImage = new ImageIcon("pic/background.gif");
bkLabel.setIcon(backImage);
bkLabel.setOpaque(true);
WIDTH = backImage.getIconWidth();
HEIGHT = backImage.getIconHeight();
content.add(bkLabel, -1); // 添加背景图片
bButton = new JButton(bImage);
JPanel panel2 = new JPanel();
panel2.setOpaque(false); // 设置panel2背景透明
panel2.setPreferredSize(new Dimension(40, 40));
panel2.add(bButton);
content.add(panel2);
validate();
setBounds(300, 200, WIDTH, HEIGHT);
setLocation((screenWidth - WIDTH) / 2, (screenHeight - HEIGHT) / 2);
setSize(WIDTH, HEIGHT);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}

public static void main(String[] args)
{
new BackGround();
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式