如何使用Java Swing在主JFrame中创建具有背景图像和JFrame的主JFrame?
答案 0 :(得分:2)
很难知道你的意思是什么
主JFrame中的JFrame
阅读JFrame真正的内容。也许你想在你的应用程序中使用dialog window,或者internal window。或者只是另一个panel。
要在JFrame中获取背景图片,我建议您只需将JPanel with a backround image添加到JFrame:s contentpane。
答案 1 :(得分:2)
我相信您正在寻找internal frames。
对于背景图像位,子类JPanel,覆盖其paintComponent()方法,并在那里blit你的图像。然后将该面板的实例设置为JFrame的内容窗格。
public class BackgroundPanel extends JPanel {
private BufferedImage bgImg;
public BackgroundPanel() {
try {
bgImg = ImageIO.read(BackgroundPanel.class.getResourceAsStream(
"mybackgroundimage.png"));
} catch (IOException ex) {
System.err.println("Could not load background image!");
ex.printStackTrace();
}
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
if (bgImg != null) {
g.drawImage(bgImg, 0, 0, null);
}
}
}
public class MyJFrame extends JFrame {
public MyJFrame() {
setContentPane(new BackgroundPanel());
}
}
答案 2 :(得分:1)
根据我的理解,您不需要在另一个JFrame中嵌套JFrame,我也不认为这样做也是好的设计。你可以做的就是嵌套JPanels。
您将主要了解这两个类: