我想用swing做出两个对话框第一个对话框用于显示通过第二个对话框输入的命令。比如我点击第二个对话框中的开始按钮则第一个对话框中显示“开始”。如果我点击关闭按钮则第二个对话框中显示的文字 被 替 换 成 “关闭”。那位高手给个指点,有个例子最好,我刚学swing,还不太能行。谢谢大家了。

解决方案 »

  1.   

    一大早起来就为楼主写了个,经验证,OK.
    解释全在注释里,楼主自己看
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;public class JDialogTest { public static void main(String[] args) {
    JDialog j1 = new JDialog();
    Button jb1 = new Button("开始");
    Button jb2 = new Button("关闭");
    FlowLayout fy = new FlowLayout();// 定义流式布局器
    j1.setLayout(fy);// 在对话框1中加入布局管理器
    jb1.setSize(50, 50);// 设置2个按钮的大小
    jb2.setSize(50, 50);
    j1.add(jb1);
    j1.add(jb2);
    j1.setSize(300, 300);
    j1.setVisible(true);
    JDialog j2 = new JDialog();
    j2.setBounds(0, 300, 300, 300);// 设置第2个对话框的出现位置和大小
    final JTextField tf = new JTextField();
    j2.add(tf);// 为对话框加入文本框
    j2.setVisible(true);
    // 为对话框中的按钮一写事件
    jb1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) {
    // 当点击按钮一时,设置对话框中的内容为"开始"
    tf.setText("开始");
    }
    });
    // 为对话框中的按钮二写事件
    jb2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) {
    // //当点击按钮二时,设置对话框中的内容为"关闭"
    tf.setText("关闭");
    }
    });
    }
    }
      

  2.   

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class Axun implements ActionListener{ /**
     * @param args
     */
    JLabel label;
    JDialog dialog1;
    JDialog dialog2;
    JButton btn1;
    public Axun(){
    dialog1=new JDialog();
    dialog2=new JDialog();
    dialog1.setSize(400, 300);
    dialog2.setSize(400, 300);

    label=new JLabel("开始");
    dialog1.add(label);

    btn1=new JButton("开始");
    dialog2.add(btn1);

    btn1.setVisible(true);
    btn1.addActionListener(this);

    dialog1.setVisible(true);
    dialog2.setVisible(true);
    }
    public void actionPerformed(ActionEvent event){
    if(event.getActionCommand().equals("开始")){
    label.setText("开始");
    btn1.setText("关闭");
    dialog1.repaint();
    }
    else if(event.getActionCommand().equals("关闭")){
    label.setText("关闭");
    btn1.setText("开始");
    dialog1.repaint();
    }
    }
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    new Axun();
    }
    }