m0_61025629 2021-10-07 23:18 采纳率: 100%
浏览 32
已结题

运行之功能没有反应,明明存在却显示未存在,咋办呀?

运行之功能没有反应,明明存在却显示未存在,咋办呀?

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.*;
import java.util.Hashtable;

public class ManagerResister extends JFrame implements ActionListener {
    
function2 fun2=new function2();
    
    JLabel lb1=new JLabel("当前是管理员登录界面");
    JLabel lb2=new JLabel("请输入工号进行录入,修改、删除等功能");
    
    JTextField 工号,姓名,电话号码,年龄;
    JRadioButton 男,女;
    ButtonGroup group=null;
    JButton 录入,查询,删除,修改,显示,返回;
    JPanel p1,p2,p3,p4,p5,pv,ph,pb;
    
    TeacherIformation tea=new TeacherIformation();//
    ArrayList<TeacherIformation>arry=new ArrayList<>();//
    
    public ManagerResister() {
        super("学生信息管理系统");
        工号=new JTextField(15);
        姓名=new JTextField(10);
        电话号码=new JTextField(15);
        年龄=new JTextField(5);
        
        group=new ButtonGroup();
        男=new JRadioButton("男");
        女=new JRadioButton("女");
        group.add(男);
        group.add(女);
        录入=new JButton("增加教师信息");
        查询=new JButton("查询符合条件的教师信息");
        删除=new JButton("删除教师信息");
        修改=new JButton("修改教师信息");
        显示=new JButton("显示全部教师信息");
        返回=new JButton("返回登录界面");
        
        pb=new JPanel();
        pb.add(lb1,JLabel.CENTER);
        
        p1=new JPanel();
        
        p1.add(lb2,JLabel.CENTER);
        p1.add(new JLabel("工号:",JLabel.CENTER));
        p1.add(工号);
        
        p2=new JPanel();
        p2.add(new JLabel("姓名:",JLabel.CENTER));
        p2.add(姓名);
        
        p3=new JPanel();
        p3.add(new JLabel("性别:",JLabel.CENTER));
        p3.add(男);
        p3.add(女);
        
        p4=new JPanel();
        p4.add(new JLabel("年龄:",JLabel.CENTER));
        p4.add(年龄);
        
        p5=new JPanel();
        p5.add(new JLabel("电话号码:",JLabel.CENTER));
        p5.add(电话号码);
        
        pv=new JPanel();
        pv.setLayout(new GridLayout(7,1));//把PV组件设置成七行一列的网格布局
        
        pv.add(p1);//把面板放到容器中,add()代表容器
        pv.add(p2);
        pv.add(p3);
        pv.add(p4);
        pv.add(p5);
        
        ph=new JPanel();
        ph.add(录入);
        ph.add(查询);
        ph.add(修改);
        ph.add(删除);
        ph.add(显示);
        ph.add(返回);
        
        Container con=getContentPane();//建立容器对象con,取得容器面板
        con.setLayout(new BorderLayout());//设置布局为边框布局,边框布局分东南西北中5个方位来添加控件,若无指定,则添加到中间,上下左右可扩展
        con.add(pb,BorderLayout.NORTH);//Frame对象lb调用方法add(),lb放在最北上方
        con.add(pv,BorderLayout.CENTER);
        con.add(ph,BorderLayout.SOUTH);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setBounds(100,100,900,450);
        setVisible(true);
        
        TeacherIformation tea=new TeacherIformation();
        new ArrayList<TeacherIformation>();
        
        录入.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                String sID=工号.getText();
                if(fun2.find(sID)!=-1) {
                    JOptionPane.showMessageDialog(null, "该工号对应教师已经存在!\n\n请重新输入或者修改已经录入的教师");
                    工号.setText("");
                    姓名.setText("");
                    年龄.setText("");
                    电话号码.setText("");
                    return;
                }
                String sname=姓名.getText();
                if(sID.equals("")||sname.equals("")) {
                    JOptionPane.showMessageDialog(null, "录入的教师工号或姓名为空!\n\n请重新输入");
                    return;
                }
                String sage=年龄.getText();
                if(sage.equals(""))
                    sage="--";
                String scall=电话号码.getText();
                if(scall.equals("")) 
                    scall="--";
    
                String ssex;
                if(男.isSelected()) {
                    ssex=男.getText();
                }
                else {
                    ssex=女.getText();
                }
                
                tea.setTeaId(sID);
                tea.setName(sname);
                tea.setAge(sage);
                tea.setCallnumber(scall);
                tea.setSex(ssex);

                
                System.out.println("信息管理员");
                System.out.println(tea.fileString());
                
                fun2.add(tea);
                fun2.writefile();
                
                JOptionPane.showMessageDialog(null, "录入成功!");
                setVisible(false);
                new ManagerResister();
            }
        });
        
        显示.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                new ShowTeacherAll();
            }
        });
        
        查询.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                String sID=工号.getText();
                if(sID.equals(""))
                    sID="--";
                String sname=姓名.getText();
                if(sname.equals(""))
                    sname="--";
                String sage=年龄.getText();
                if(sage.equals(""))
                    sage="--";
                String scall=电话号码.getText();
                if(scall.equals("")) 
                    scall="--";
                String ssex;
                if(男.isSelected()) {
                    ssex=男.getText();
                }
                else {
                    if(女.isSelected())
                    ssex=女.getText();
                    else {
                        ssex="--";
                    }
                }
                FileWriter fw=null;
                BufferedWriter out=null;
                //FileWriter fw=null;
                //BufferedWriter out=null;
                try {
                    fw=new FileWriter("查询时暂时存放的文件.txt");
                    out=new BufferedWriter(fw);
                    out.write(sID+" ");
                    out.write(sname+" ");
                    out.write(ssex+" ");
                    out.write(sage+" ");
                    out.write(scall+" ");
                    out.close();
                    fw.close();
                }catch(IOException e1) {
                    e1.printStackTrace();
                }
                //开始查询
                new ShowOnes2();
                
                工号.setText("");
                姓名.setText("");
                年龄.setText("");
                电话号码.setText("");
            
                group.clearSelection();
            }
        });
        
        
        删除.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                String sId=工号.getText();
                int flag=fun2.find(sId);
                if(flag==-1) {
                    JOptionPane.showMessageDialog(null, "未查找到该工号的教师!\n\n请重新输入");
                }
                else {
                    fun2.delete(sId);
                    fun2.writefile();
                    JOptionPane.showMessageDialog(null, "删除成功!\n");
                }
                
                工号.setText("");
                姓名.setText("");
                年龄.setText("");
                电话号码.setText("");
            
                group.clearSelection();
            }
        });
        
        修改.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                String sId=工号.getText();
                int flag=fun2.find(sId);
                if(flag==-1) {
                    JOptionPane.showMessageDialog(null, "未找到该工号的教师!\n\n请重新输入");
                    return;
                }
                else
                    JOptionPane.showMessageDialog(null,"该系统中存在该教师数据\n\n");
                
                String sage=年龄.getText();
                if(sage.equals(""))
                    sage="--";
                String scall=电话号码.getText();
                if(scall.equals("")) 
                    scall="--";
            
                String ssex=null;
                if(男.isSelected()) {
                    ssex=男.getText();
                }
                else {
                    ssex=女.getText();
                }
                String sname=姓名.getText();
                if(sname.equals("")) {
                    JOptionPane.showMessageDialog(null, "录入的教师名字为空!\n\n请重新输入");
                    return;
                }
                
                tea.setTeaId(sId);
                tea.setAge(sage);
                tea.setName(sname);
                tea.setSex(ssex);
                tea.setCallnumber(scall);
                
                fun2.update(tea);
                fun2.writefile();
                JOptionPane.showMessageDialog(null, "修改成功!");
                
                工号.setText("");
                姓名.setText("");
                年龄.setText("");
                电话号码.setText("");

                group.clearSelection();
            }
        });
        
        返回.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                setVisible(false);
                new Register();
            }
        });
        
        
    }
    
    @Override
    public void actionPerformed(ActionEvent arg0) {
        // TODO 自动生成的方法存根
        
    }
}


```

  • 写回答

2条回答 默认 最新

  • CSDN专家-sinJack 2021-10-07 23:21
    关注

    有疑问的地方,你打印输出看看就知道了

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

报告相同问题?

问题事件

  • 系统已结题 10月16日
  • 已采纳回答 10月8日
  • 创建了问题 10月7日

悬赏问题

  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题