- [/size][size=14px]checkbutton.addActionListener(new ActionListener(){[/size]
- public void actionPerformed(ActionEvent e){
- //将lib中的Data文件通过FileReader流读取进缓存
- BufferedReader brin = null;
- try {
- brin = new BufferedReader(new FileReader("lab\\Data.txt"));
- } catch (FileNotFoundException e1) {
- e1.printStackTrace();
- }
- //定义HashMap集合。
- HashMap<Integer,String> hm = new HashMap<Integer,String>();
-
- String str1 = null;
- String str2 = null;
- String line = null;
-
- try {
- while((line=brin.readLine())!=null){
- String str = line;
- //在文件中,数字期数和所开的班用,隔开,这里用split方法把数据分装到两个数组中。
- String[] arr = str.split(",");
- str1 = arr[0];
- str2 = arr[1];
- //将数据以键值对的形式存入集合中
- hm.put(Integer.parseInt(str1), str2);
- }
- } catch (IOException e1) {
- e1.printStackTrace();
- }
-
- //得到输入框中输入的字符串。
- String getstring = txtin.getText();
- //查找键中是否有输入的字符串
- if(hm.containsKey(Integer.parseInt(getstring))){
- //在显示框中显示查询的值
- tashow.setText(hm.get(getstring));
-
- }
-
- else{
- String info = "不是正确的学期数,请重输";
- //dialog弹出,并赋予提示信息
- lab.setText(info);
- txtin.setText("");
- d.setVisible(true);
- }
- }
- });
-
- txtin.addActionListener(new ActionListener(){
- public void actionPerformed(ActionEvent e) {
- //将lib中的Data文件通过FileReader流读取进缓存
- BufferedReader brin = null;
- try {
- brin = new BufferedReader(new FileReader("lab\\Data.txt"));
- } catch (FileNotFoundException e1) {
- e1.printStackTrace();
- }
- //定义HashMap集合。
- HashMap<String,String> hm = new HashMap<String,String>();
-
- String str1 = null;
- String str2 = null;
- String line = null;
-
- try {
- while((line=brin.readLine())!=null){
- String str = line;
- //在文件中,数字期数和所开的班用,隔开,这里用split方法把数据分装到两个数组中。
- String[] arr = str.split(",");
- str1 = arr[0];
- str2 = arr[1];
- //将数据以键值对的形式存入集合中
- hm.put(str1, str2);
- }
- } catch (IOException e1) {
- e1.printStackTrace();
- }
-
- //得到输入框中输入的字符串。
- String getstring = txtin.getText();
- //查找键中是否有输入的字符串
- if(hm.containsKey(getstring)){
- //在显示框中显示查询的值
-
- tashow.setText(hm.get(getstring));
- }
-
- else{
- String info = "不是正确的学期数,请重输";
- //dialog弹出,并赋予提示信息
- lab.setText(info);
- txtin.setText("");
- d.setVisible(true);
- }
- }
-
- });
-
- [size=14px] [/size][size=14px]}[/size]
复制代码 这是一道论坛里涛哥出的题目,相信明眼人看出来了,
问题是:我在这个代码中实现了两个监听,一个是button按钮的监听,还有一个是输入框回车的监听,但是两个监听动作中的代码是一模一样的,
浪费了资源,如何把监听其中的代码剥离出来,抽成方法,让两个监听器都能使用呢?
ps:金币还带税的,发帖要谨慎啊
|