Java Swing中jpanel设置透明时问题 40

加载框是一个jpanel,设置为透明时,不知道为什么背景会出现左上角的图案,代码如下:publicJComponentgetLoadingPanel2(){JPanelc... 加载框是一个jpanel,设置为透明时,不知道为什么背景会出现左上角的图案,代码如下:
public JComponent getLoadingPanel2() { JPanel contentPanel = new JPanel(); JPanel msgPanel = new JPanel(); int x = (frame.getWidth() - 415) / 2; int y = (frame.getHeight() - 135) / 2; ImageIcon icon = new ImageIcon("images/715.gif"); Image image = icon.getImage().getScaledInstance(100, 100, Image.SCALE_DEFAULT); icon.setImage(image); ImageIcon closeIcon = new ImageIcon("images/window-close.png"); Image closeImage = closeIcon.getImage().getScaledInstance(16, 16, Image.SCALE_DEFAULT); closeIcon.setImage(closeImage); contentPanel.setLayout(null); contentPanel.add(msgPanel); JLabel btnCancel = new JLabel(); btnCancel.setBounds(120, 5, 35, 35); btnCancel.setIcon(closeIcon); btnCancel.setBorder(new EmptyBorder(1, 1, 1, 1)); btnCancel.setBackground(null); btnCancel.setPreferredSize(new Dimension(20, 20)); JLabel imgJLabel = new JLabel(); imgJLabel.setBounds(25, 10, 100, 100); imgJLabel.setIcon(icon); msgPanel.setLayout(null); msgPanel.add(btnCancel); msgPanel.add(imgJLabel); msgPanel.setBackground(new Color(0, 0, 0, 0)); msgPanel.setBounds(0, 0, 150, 120); msgPanel.setLocation(x, y); btnCancel.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { LoadingGlassPane.this.loadCount = 1; LoadingGlassPane.this.hidden(); } }); contentPanel.setBackground(new Color(0, 0, 0, 50)); return contentPanel; }
展开
 我来答
心一月011f
2014-11-25 · TA获得超过693个赞
知道小有建树答主
回答量:1008
采纳率:0%
帮助的人:584万
展开全部
既没有重绘,也没有多一个jpanel,只出现一个左上角已经是运气了。
追问
validate(),setvisible()什么的都已经试过了,都不好用
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式