flybirding10011 2021-07-08 22:14 采纳率: 51.9%
浏览 37
已结题

为什么添加监视器的按钮点击无用

package dialog;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class AddDialog extends JDialog {
    private static final long serialVersionUID = 1L;//定义程序序列化ID
    JButton b1, b2,b3;
    JTextField jtf1, jtf2, jtf3, jtf4, jtf5, jtf6, jtf7,jtf8;
    HandleAddDialog add;
    public AddDialog(JFrame frame) {                      //视图
        super(frame, "添加信息(3200608050 胡成艺)", true);//继承父类
        initView();
        addListener();
    }
        private void initView() {
            Container c = this.getContentPane();
            setLayout(new BorderLayout());//设置布局为BorderLayout
            setBounds(700, 250, 450, 300);
            JPanel jp = new JPanel();//添加JPanel面板
            jp.setLayout(new GridLayout(4, 1));
            JPanel jp1 = new JPanel();
            jp1.setLayout(new FlowLayout(FlowLayout.LEFT, 20, 5));
            JLabel jl1 = new JLabel("学号: ");
            jtf1 = new JTextField(10);//输入学号
            jp1.add(jl1);
            jp1.add(jtf1);
            JLabel jl5 = new JLabel("姓名: ");
            jtf5 = new JTextField(10);//输入姓名
            jp1.add(jl5);
            jp1.add(jtf5);
            JPanel jp2 = new JPanel();
            jp2.setLayout(new FlowLayout(FlowLayout.LEFT, 20, 5));
            JLabel jl2 = new JLabel("身份: ");
            jtf2 = new JTextField(10);//输入身份
            jtf2.setText("学生");
            jtf2.setEditable(false);
            jp2.add(jl2);
            jp2.add(jtf2);
            JLabel jl6 = new JLabel("班级: ");
            jtf6 = new JTextField(10);//输入班级
            jp2.add(jl6);
            jp2.add(jtf6);
            JPanel jp3 = new JPanel();
            jp3.setLayout(new FlowLayout(FlowLayout.LEFT, 20, 5));
            JLabel jl3 = new JLabel("用电量: ");
            jtf3 = new JTextField(10);//输入输入用电量
            jp3.add(jl3);
            jp3.add(jtf3);
            JLabel jl7 = new JLabel("用水量: ");
            jtf7 = new JTextField(10);//输入输入用水量
            jp3.add(jl7);
            jp3.add(jtf7);
            JPanel jp4 = new JPanel();
            jp4.setLayout(new FlowLayout(FlowLayout.LEFT, 20, 5));
            JLabel jl4 = new JLabel("电话: ");
            jtf4 = new JTextField(10);//输入电话
            JLabel jl8 = new JLabel("是否缴费:");
            jtf8 = new JTextField(10);//输入是否缴费
            jp4.add(jl4);
            jp4.add(jtf4);
            jp4.add(jl8);
            jp4.add(jtf8);
            JPanel j = new JPanel();
            j.setLayout(new FlowLayout(FlowLayout.RIGHT, 20, 10));
            b1 = new JButton("添加");//添加信息按钮
            b2 = new JButton("返回");//返回上一届面
            b3 = new JButton("切换教师/学生");//切换教工与学生
            j.add(b3);
            j.add(b1);
            j.add(b2);
            jp.add(jp1);
            jp.add(jp2);
            jp.add(jp3);
            jp.add(jp4);
            c.add(jp, BorderLayout.CENTER);
            c.add(j, BorderLayout.SOUTH);
            b3.addActionListener(new ActionListener() {       //内部类
                public void actionPerformed(ActionEvent e) {
                    if(e.getSource() == b3) {
                    if(jl1.getText().equals("学号: ")) {
                        jl1.setText("职工号:");
                        jl6.setText("工作部门:");
                        jtf2.setText("教工");
                    }
                    else if(jl1.getText().equals("职工号:")) {
                        jl1.setText("学号: ");
                        jl6.setText("班级: ");
                        jtf2.setText("学生");
                    }
                }
                }
            });
            this.setVisible(true);
        }
        private void addListener() {
            add = new HandleAddDialog();
            add.setView(this);
            b1.addActionListener(add);//添加监视器,负责添加单词
            b2.addActionListener(add);
        }
}

  • 写回答

2条回答 默认 最新

  • flybirding10011 测试 2021-09-16 18:04
    关注

    123

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月30日
  • 已采纳回答 9月22日
  • 创建了问题 7月8日

悬赏问题

  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系