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
运行测试结果:
以上就是本文的全部内容,希望对小伙伴的学习有所帮助,也希望大家多多支持王老师哦。
举报/反馈