【发布时间】:2016-07-26 12:12:32
【问题描述】:
我制作了一个JPanel,并以图片为背景。但是在第一次加载 JPanel 时,其余添加的组件但图像不可见。在图像上滚动鼠标后,按钮变得可见。如何在加载面板时使JButtons 与作为背景的图像一起可见。
这是我的一段代码:
contentPane = new JPanel();
contentPane.setBorder(new SoftBevelBorder(BevelBorder.LOWERED, null, null, null, null));
setContentPane(contentPane);
contentPane.setLayout(null);
homePanel.setBounds(10, 11, 959, 620);
homePanel.setLayout(null);
JPanel wizardPanel = new JPanel();
wizardPanel.setBounds(10, 295, 545, 336);
wizardPanel.setLayout(null);
homePanel.add(wizardPanel);
JLabel backgroundLabel;
try {
backgroundLabel = new JLabel(new ImageIcon(ImageIO.read(new File("images/nature.jpg"))));
backgroundLabel.setBounds(0, 0, 545, 336);
wizardPanel.add(backgroundLabel);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JButton btnNewButton = new JButton("New button");
btnNewButton.setBounds(309, 95, 89, 23);
wizardPanel.add(btnNewButton);
JButton btnNewButton_1 = new JButton("New button");
btnNewButton_1.setBounds(309, 150, 89, 23);
wizardPanel.add(btnNewButton_1);
JButton btnNewButton_2 = new JButton("New button");
btnNewButton_2.setBounds(309, 212, 89, 23);
wizardPanel.add(btnNewButton_2);
【问题讨论】:
-
添加完所有组件后,尝试在内容窗格中调用
revalidate()和repaint()。 -
如果可能,然后发布整个代码。
-
最好有Minimal, Complete, and Verifiable example。这将使您的问题更容易回答。
-
revalidate() & repaint() 没有成功@vishal.. 让我展示我的完整代码