有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JWindow上的java JPanel,添加组件

我有一个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不应该是可点击的

理想端部效应的示例

Example of splash


共 (1) 个答案

  1. # 1 楼答案

    要添加组件,应使用:

    pnlSplashWindow.add(btnImage, BorderLayout.SOUTH);
    

    相反。如果您不希望JFrame是可点击的,那么应该使用模式JDialog,通过扩展^{}而不是JWindow

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