Jaindow上的JPanel,添加了组件

时间:2011-08-10 08:54:10

标签: java swing jdialog jwindow

我有一个JFrame,在JFrame代码中我创建了一个JWindow,在窗口中我创建了一个JPanel。在JPanel上插入背景图像。

JButton btnImage= new JButton("My Button");

 Image splashImg = Toolkit.getDefaultToolkit().getImage("images/image1.jpeg");

JPanel pnlSplashWindow= new JPanel(){ 

        public void paint(Graphics g){
          g.drawImage(splashImg,0,0,splashImg.getWidth(this),splashImg.getHeight(this),this);
    }
    };

    pnlSplashWindow.setLayout(new BorderLayout());
    pnlSplashWindow.add(BorderLayout.SOUTH,btnImage);
    JWindo window= new JWindow(this); // this refers to my class which has extended JFrame

    window.setContentPane(pnlSplashWindow);
    window.setSize(688, 344);
    btnImg.setVisible(true);
    window.setLocationRelativeTo(this);

我是JWindow的新手,并提出以下问题:

  1. 如何在JWindow(或JPanel上的JWindow)上添加按钮和标签等元素?
  2. 如何将JFrame设为此JWindow的父级?我的意思是JWindow处于有效状态时,JFrame不应该是可点击的。
  3. 期望的最终效果的一个例子

    Example of splash

1 个答案:

答案 0 :(得分:4)

要添加您应该使用的组件:

pnlSplashWindow.add(btnImage, BorderLayout.SOUTH);

代替。如果您不希望自己的JFrame可点击,则应使用模式 JDialog,方法是扩展JDialog而不是JWindow

但是如果你想创建一个启动画面,你应该阅读How to create a Splash Screen