Java GUI 简单编程 输入学生学号姓名 按学号排序或删除

解释如下

运行窗口界面如下:在这里插入图片描述
向其中输入点击添加 显示 :A student has been added在这里插入图片描述
最终 输入并排序结果如下图 (如当输入的有删除情况时 点击删除 将重复的数据删除 并输出删除后的结果) :在这里插入图片描述
**

代码如下:

**
这是代码截屏 嘻嘻😁在这里插入图片描述
下面是源代码

/*
1.补全下述图形用户程序,完成以下功能:
1)当用户点击“添加”按钮时,增加一个学生;
2)当用户点击“排序”按钮时,对所有学生按学号进行排序输出;
3)当用户点击“删除”按钮时,移除所有重复的学生,并逐个输出去重后的学生信息。
*/

import java.awt.*;
import java.awt.event.*;
import java.util.*;public class test1 {public static void main(String [] args){new TFrame().launchFrame();}
}
class TFrame extends Frame{TextField num,name;Map<String,String>  ppt = new IdentityHashMap();public void launchFrame(){             //基本的框架输入num = new TextField(10);name = new TextField(15);Label a1 = new Label("学号");Label a2 = new Label("姓名");Button button1 = new Button("添加");Button button2 = new Button("排序");Button button3 = new Button("删除");button1.addActionListener(new Montitor1());   //监听器button2.addActionListener(new Montitor1());button3.addActionListener(new Montitor1());setLayout(new FlowLayout());add(a1);add(num);add(a2);add(name);add(button1);  //添加按钮1add(button2);  //添加按钮2add(button3);  //添加按钮3pack();setVisible(true);this.addWindowListener(new WindowsMonitor());}//注意 到77行才是关键代码 剩下的可以不看private class Montitor1 implements ActionListener{  //监听  并作出反应public void actionPerformed(ActionEvent e) {if(e.getActionCommand().equals("添加")){        //对按钮"添加"进行判断ppt.put(num.getText() ,name.getText());    //将从输入框输入的东西加入map中System.out.println("A Student has been added");num.setText("");name.setText("");}else if(e.getActionCommand().equals("排序")){   //对按钮"排序"进行判断Object [] object1 = ppt.keySet().toArray();Arrays.sort(object1);for (int i = 0;i < object1.length; i++){System.out.println( "After sort  学号:"+ object1[i] + " 姓名: " + ppt.get(object1[i]) );}}else if(e.getActionCommand().equals("删除")){   //通过监听对按钮"删除"进行判断Object [] object2 = ppt.keySet().toArray();Arrays.sort(object2);for(int i = 0; i< object2.length; i++){for(int j = i + 1; j< object2.length;j++){if(object2[i].equals(object2[j])){ppt.remove(object2[i]);        //删除重复的学生ppt.remove(object2[j]);        //}}}Object [] object3 = ppt.keySet().toArray();for(int i = 0; i < object3.length; i++){System.out.println("After deleted 姓名: " + object3[i] + " 学号: " + ppt.get(object3[i]));}}}}class WindowsMonitor extends WindowAdapter{   //对关闭文本框的监听 并作出反应  (没有用的话可以不要)public void windowClosing(WindowEvent e){setVisible(false);System.exit(0);}}
}


谢谢借鉴 有错的地方 或者更好的方法记得戳我


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部