JDialog窗体
- 常用JDialog类构造方法
public JDialog(); 创建一个没有标题和父窗体的对话框
public JDialog(Frame f); 创建一个指定父窗体的对话框, 但该窗体没有标题
public JDialog(Frame f,boolean model); 创建一个指定类型的对话框,并指定父窗体,但该窗体没有指定标题
public JDialog(Frame f,String title); 创建一个指定标题和父窗体的对话框
public JDialog(Frame f,String title,boolean model); 创建一个指定标题、窗体和模式的对话框
- 在项目中创建一个MyJDialog类,该类继承JDialog窗体,并在窗口中添加按钮,当用户单击该按钮后,将弹出一个对话框窗体。
package e8;
import java.awt.Color;
import java.awt.Container;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;
import eg1.main;
class MyJDialog extends JDialog{
public MyJDialog(MyFrame frame) { //创建一=新继承类JDialog类
//实例化一个JDialog类对象,指定对话框的父窗体、窗体标题和类型
super(frame,"第一个JDialog窗体",true);
Container container=getContentPane(); //创建一个容器
container.add(new JLabel("这是一个对话框"));
setBounds(120, 120, 100, 100);
}
}
public class MyFrame extends JFrame {
public static void main(String[] args) {
new MyFrame();
}
public MyFrame() {
Container container=getContentPane(); //创建一个容器
container.setLayout(null);
JLabel jl = new JLabel("这是一个JFrame窗体");
jl.setHorizontalAlignment(SwingConstants.CENTER);
container.add(jl);
JButton jb = new JButton("弹出对话框");
jb.setBounds(10, 10, 100, 21);
jb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
new MyJDialog(MyFrame.this).setVisible(true);
}
});
container.add(jb);
container.setBackground(Color.white);
setSize(200,200);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
setVisible(true);
}
}
效果图: