Java程序中在一个窗口中弹出另一个窗口

  要求:

  1、在父窗口中添加一个按钮

  2、单击此按钮弹出一个子窗口

  步骤一:建立父窗口类MainWindow.java

  import java.awt.EventQueue;

  import java.awt.Toolkit;

  import java.awt.event.ActionEvent;

  import java.awt.event.ActionListener;

  import javax.swing.*;

  public class MainWindow extends JFrame {

  public MainWindow() {

  this.setVisible(true);

  this.setTitle("父窗口");// 标题

  int screenWidth = Toolkit.getDefaultToolkit().getScreenSize().width;// 获取屏幕宽度

  int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height;// 获取屏幕高度

  int winWidth=800;//设置父窗口宽度

  int winHeight=600;//设置父窗口高度

  int winx =( screenWidth - winWidth )/2; //

  int winY =( screenHeight- winHeight )/2;

  this.setBounds( winx, winY, winWidth , winHeight );//设置窗口于屏幕居中

  getContentPane().setLayout(null);// 获取窗口面板并自由布局

  JButton bt = new JButton("弹出子窗口");// 按钮的对象名为bt

  bt.setBounds(0, 0,120,30);// 按钮的位置坐标和大小

  getContentPane().add(bt);// 按钮添加到窗口中

  bt.addActionListener(new ActionListener() {//设置按钮单击事件:采用匿名内部类方式

  public void actionPerformed(ActionEvent e) {

  new SubWindow();

  }

  });

  }

  }

  步骤二:建立子窗口类SubWindow.java

  import java.awt.Font;

  import java.awt.Toolkit;

  import javax.swing.JFrame;

  import javax.swing.JLabel;

  public class SubWindow extends JFrame{

  public SubWindow(){

  this.setResizable ( false );

  this.setTitle("子窗口");

  this.setVisible(true);//从获取屏幕大小

  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  int screenWidth=Toolkit.getDefaultToolkit().getScreenSize().width ;

  int screenHeight=Toolkit.getDefaultToolkit().getScreenSize().height;

  int winWidth=400;

  int winHeight=300;

  int winx =( screenWidth - winWidth )/2; //

  int winY =( screenHeight- winHeight )/2;

  this.setBounds( winx +50, winY +50, winWidth , winHeight );

  getContentPane (). setLayout (null);

  JLabel label= new JLabel ("新的窗口");

  label.setFont ( new Font("微软雅黑", Font.BOLD ,16));

  label.setSize (100,30);

  getContentPane ().add (label);

  int midX=winWidth /2-label.getWidth ()/2;

  int midY= winHeight /2- label.getHeight()/2-30;

  label.setBounds(midX , midY , label.getWidth (), label.getHeight());//设置子窗口中的标签框位置

  }

  }

  步骤三:建立主类TestGUI_Demo1.java

  

  运行测试结果:

  

  以上就是本文的全部内容,希望对小伙伴的学习有所帮助,也希望大家多多支持王老师哦。

  举报/反馈