package three.day.frame;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;
public class JDialogDemo01 implements ActionListener
{
String s1 = " ";
JFrame f = null;
JLabel lb = new JLabel("对话框示例");
JTextField tf1,tf2;
JDialog dialog;
public JDialogDemo01()
{
f = new JFrame("对话框示例");
Container cp = f.getContentPane();
JPanel pa = new JPanel(new GridLayout(3,1));
pa.add(lb);
JButton bt = new JButton("进入对话框");
bt.addActionListener(this);
pa.add(bt);
bt = new JButton("结束");
bt.addActionListener(this);
pa.add(bt);
pa.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.blue,3),
"对话框示例",TitledBorder.CENTER,TitledBorder.TOP));
cp.add(pa,BorderLayout.CENTER);
f.setSize(400, 200);
f.setVisible(true);
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String cmd = e.getActionCommand();
if(cmd.equals("进入对话框"))
{
dial();
}
else if(cmd.equals("结束"))
{
System.exit(0);
}
if(cmd.equals("确定"))
{
s1 = tf1.getText()+",";
s1 += tf2.getText();
s1 = "你好,"+s1;
lb.setText(s1);
dialog.dispose();
}
else if(cmd.equals("返回"))
{
lb.setText("你没输入内容哦");
dialog.dispose();
}
}
private void dial()
{
// TODO Auto-generated method stub
dialog = new JDialog(f,"进入父窗口",true);
Container diacp = dialog.getContentPane();
diacp.setLayout(new FlowLayout());
JLabel lb1 = new JLabel("输入学号:");
JLabel lb2 = new JLabel("输入姓名:");
JPanel pa1 = new JPanel(new GridLayout(3,2));
tf1 = new JTextField(8);
tf2 = new JTextField(8);
pa1.add(lb1);
pa1.add(tf1);
pa1.add(lb2);
pa1.add(tf2);
JButton bt1 = new JButton("确定");
bt1.addActionListener(this);
pa1.add(bt1);
bt1 = new JButton("返回");
bt1.addActionListener(this);
pa1.add(bt1);
diacp.add(pa1);
dialog.setBounds(150, 150, 200,150);
dialog.setVisible(true);
}
public static void main(String[] args)
{
new JDialogDemo01();
}
}
JFrame实现,代码如下:
package three.day.frame;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
public class DialogDemo02 extends JFrame
{
public static void main(String[] args)
{
new DialogDemo02("对话框实例");
}
public DialogDemo02(String title) throws HeadlessException
{
super(title);
JPanel panel = new JPanel(new GridLayout(3,1));
final JLabel lbTip = new JLabel("对话框提示");
JButton btDialog = new JButton("进入对话框");
btDialog.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
final JDialog enterDialog = new JDialog();
enterDialog.setTitle("进入对话框");
Container enterPanel = enterDialog.getContentPane();
enterPanel.setLayout(new GridLayout(3,2));
final JLabel lbID = new JLabel("输入学号:");
final JLabel lbName = new JLabel("输入姓名:");
final JTextField tfID = new JTextField(10);
final JTextField tfName = new JTextField(10);
JButton btSure = new JButton("确定");
btSure.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
lbTip.setText(tfID.getText()+tfName.getText());
enterDialog.dispose();
}
});
JButton btReturn = new JButton("返回");
btReturn.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e) {
enterDialog.dispose();
}
});
enterPanel.add(lbID);
enterPanel.add(tfID);
enterPanel.add(lbName);
enterPanel.add(tfName);
enterPanel.add(btSure);
enterPanel.add(btReturn);
enterDialog.pack();
enterDialog.setLocation(500, 200);
enterDialog.setVisible(true);
}
});
JButton btExit = new JButton("结束");
btExit.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
});
panel.add(lbTip);
panel.add(btDialog);
panel.add(btExit);
panel.setBorder(BorderFactory.createTitledBorder("对话框实例"));
getContentPane().add(panel);
setBounds(300,200,500,400);
addWindowListener(new WindowAdapter(){
@Override
public void windowClosing(WindowEvent e) {
DialogDemo02.this.dispose();
System.exit(0);
}
});
pack();
setVisible(true);
}
}