如何使用Java Swing在主JFrame中创建一个带有背景图像的主JFrame和一个JFrame?
发布于 2010-04-27 15:33:34
我相信你是在找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());
}
}发布于 2010-04-27 07:12:56
很难知道你在说什么。
在主JFrame 内执行
a JFrame
读一读JFrame到底是什么。也许您需要在应用程序中使用dialog window,或者使用internal window。或者仅仅是另一个panel。
要获得JFrame中的背景图像,我建议您只需将JPanel with a backround image添加到JFrame的内容窗格中。
发布于 2010-04-27 07:01:29
根据我的理解,您不需要在另一个JFrame中嵌套一个JFrame,我认为这样做也不是一个好的设计。你能做的就是嵌套JPanels。
您主要需要了解这两个类:
http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html
https://stackoverflow.com/questions/2717003
复制相似问题