JavaSwing图形界面编程之对话框(一)





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);

}



}








  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值