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);}}
}
谢谢借鉴 有错的地方 或者更好的方法记得戳我
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
