首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在JFrame中创建JFrame?

如何在JFrame中创建JFrame?
EN

Stack Overflow用户
提问于 2010-04-27 05:24:17
回答 3查看 8.5K关注 0票数 2

如何使用Java Swing在主JFrame中创建一个带有背景图像的主JFrame和一个JFrame?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-04-27 15:33:34

我相信你是在找internal frames

对于背景图像位,子JPanel,覆盖其paintComponent()方法,并在那里对图像进行blit。然后将该面板的一个实例设置为JFrame的内容窗格。

代码语言:javascript
复制
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());
    }

}
票数 3
EN

Stack Overflow用户

发布于 2010-04-27 07:12:56

很难知道你在说什么。

在主JFrame 内执行

a JFrame

读一读JFrame到底是什么。也许您需要在应用程序中使用dialog window,或者使用internal window。或者仅仅是另一个panel

要获得JFrame中的背景图像,我建议您只需将JPanel with a backround image添加到JFrame的内容窗格中。

票数 2
EN

Stack Overflow用户

发布于 2010-04-27 07:01:29

根据我的理解,您不需要在另一个JFrame中嵌套一个JFrame,我认为这样做也不是一个好的设计。你能做的就是嵌套JPanels。

您主要需要了解这两个类:

http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html

  • Graphics http://java.sun.com/javase/6/docs/api/java/awt/Graphics.html

  • JPanel ->
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2717003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档