实现简单GUI界面进行查询、关闭、保存按钮事件(java实现)

在这里插入图片描述

  • 实现:
    界面如图几个控件:
    在这里插入图片描述

  • 后台文本文件:
    在这里插入图片描述

  • 当输入查询ID,点击“查询”,若文本文件查询到有这个ID,就输出相关所有信息,若没有,则显示“查无此人!”,点击“保存”按钮,保存显示信息文件;点击“关闭”按钮,退出对话框:
    在这里插入图片描述
    在这里插入图片描述

  • 源码:

import java.io.*;
import java.util.*;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Test extends JFrame{
	
	//事件监听的对象要设为全局变量
	JTextField jtf;  
	JTextArea jta;
	String save="";
	
	public Test() {
		//标签、按钮
		JLabel lb1 = new JLabel("请输入查询ID:");
		jtf = new JTextField(20); 
		JButton b1 = new JButton("查询");
       	JButton b2 = new JButton("关闭");  
       	JButton b3 = new JButton("保存"); 
       	jta = new JTextArea(10,30);
       	
       	//监听事件注册
       	DataFind mm = new DataFind();
    	b1.addActionListener(mm);

    	//保存——事件注册
    	Data  ssss = new Data();
    	b3.addActionListener(ssss);
    	
    	//关闭按钮事件
    	b2.addActionListener(
    	new ActionListener(){
    		public void actionPerformed(ActionEvent ee){
    			System.exit(0);	
    			}
    		});
    	
    	//容器,添加
       	JPanel   p = new JPanel();
       	p.add(lb1);
       	p.add(jtf);
       	p.add(b1);
       	p.add(b2);
       	p.add(jta);
       	
    	getContentPane().add(p);
    	setSize(500,300);
    	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	setVisible(true);
       
	}
	public static void main(String[] args) {
		
    	new Test();
    }
	
	
	//事件监听
	class DataFind implements ActionListener{
		public void actionPerformed(ActionEvent e) {
			String str = jtf.getText();
			boolean find = false;
			jta.setText("");
			String ss="";
			try {
				Scanner sc = new Scanner(new File("data.txt"));
				while(sc.hasNextLine()) {
					ss = sc.nextLine();
					if(ss.indexOf(str)>=0) {
						find = true;
						break;
					}
				}
				if(find) {
					String[] aa = ss.split("\\s+");
					String Disp = "学号:" + aa[0] + "\r\n姓名:" + aa[1] + "\r\n计算机:" + aa[2] 
							+ "\r\n外语:"+ aa[3] + "\r\n统计原理:" + aa[4];
					jta.setText(Disp);
					
				}
				else JOptionPane.showMessageDialog(null,"查无此人!");
				
				} catch (Exception e2) {
				// TODO: handle exception
			}
		}
	}
	
	 //事件监听 2 ---保存
   	class Data implements ActionListener{
   		public void actionPerformed(ActionEvent e){
   			try {
   					String save = jta.getText();
   					FileWriter  fw  = new FileWriter("js.txt");
   					fw.write(save);
   					fw.close();
   			}
   			catch (Exception ex) {
   			}
   		
   	
   		}
   	
   }
	    
}
  • 18
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值