(java GUI使用Frame作为顶层容器,简单的学号 姓名输入框,并可导入保存在txt文档中 下面是源代码:
import java.awt.*; import java.awt.event.*; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.util.HashMap; import java.util.Map; public class test2 { public static void main(String [] args){ new TFrame().launchFrame(); } } class TFrame extends Frame{ TextField num,name; Map<String,String> ppt = new HashMap(); //设置一个全局的Map 命名为ppt 以便管理学生学号 姓名 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("导出"); button1.addActionListener(new Montitor1()); button2.addActionListener(new Montitor2()); setLayout(new FlowLayout()); add(a1); add(num); add(a2); add(name); add(button1); //添加按钮1 add(button2); //添加按钮2 pack(); setVisible(true); //设置可见 this.addWindowListener(new WindowsMonitor()); // 窗口事件监听(跟最下面的监听搭配可以不要) } private class Montitor1 implements ActionListener{ //对"添加"的监听 并作出反应 public void actionPerformed(ActionEvent e) { String s1 =num.getText(); String s2 =name.getText(); ppt.put("学号:" + s1 + " "," 姓名:" + s2); //加入map ppt中 System.out.println(ppt); } } private class Montitor2 implements ActionListener{ //对"导入"的监听 并作出反应 public void actionPerformed(ActionEvent m) { String file = "/Users/wangzeyi/Desktop/student.txt"; //保存路径(这是我的这个txt文件的路径。找一下你自己的放这儿就行) //String m1 = num.getText(); 没什么用 才发现 截图里面的没用上 //String m2 = name.getText(); try { BufferedWriter bw = new BufferedWriter(new FileWriter(file)); //新建 缓冲区 bw.write(String.valueOf(ppt)); //直接把“添加”监听里存好的map写入txt文档 bw.close(); //关闭文档 } catch (IOException e) { e.printStackTrace(); } num.setText(""); //清空学号输入框 name.setText(""); //清空姓名输入框 } } class WindowsMonitor extends WindowAdapter{ //对关闭文本框的监听 并作出反应 (没有用的话可以不要) public void windowClosing(WindowEvent e){ setVisible(false); System.exit(0); } } }