Java学生信息管理系统之简单的界面操作

本文通过使用awt和swing组件,展示了如何在Java中创建学生信息管理系统的简单界面。虽然设计简洁,但有助于理解Java界面布局管理和组件交互。

本篇文章主要利用简单的awt、swing等组件进行布局管理,由于时间原因并未对其进行丰富的设计,但对于学习如何布局,如何用Java的组件进行界面化操作响应有一定的学习价值!

存入效果图:

输出效果图:

删除:

package Student.one;

public class Stu {
	  String name;
	 String id;
	 String gender;
	 int score;
	 int age;
	 public Stu() {
		 super();
	 }
	
	public void setid(String id) {
		this.id = id;
	}
	public void setname(String name) {
		this.name = name;
	}
	public void setgender(String gender) {
		this.gender = gender;
	}
	public void setscore(int score)
	{
		this.score = score;
	}
	public void setage(int age) {
		this.age = age;
	}
	public String getname() {
		return name;
	}
	public int getscore() {
		return score;
	}
	public String getgender() {
		return gender;
	}
	public String getid() {
		return id;
	}
	public int  getage() {
		return  age;
	}
	public String toString() {
		return id+"        "+name+"     " +gender+"\t"+age+"\t"+score;
	}
}
package Student.one;
import java.awt.*;
import java.util.*;
import java.awt.event.*;
import javax.swing.*;
public class Login extends JFrame{
	JPanel jp2,jp3;
	JButton jb1,jb2,jb3,jb4;
	JLabel jl1,jl2;
	JTextField jtf1,jtf2;
	JTextArea jta1;
	JScrollPane jsp;
	ArrayList<Stu> list = new ArrayList<Stu>();
	
	public static void main(String[] args)
	{
		Login jf = new Login();
		
		
	}
	public Login()
	{
		
		jl1  = new JLabel("学号",JLabel.CENTER);
		jl2 = new JLabel("姓名",JLabel.CENTER);
		jtf1 = new JTextField();
		jtf2 = new JTextField();
		jta1 = new JTextArea()	;
		jsp = new JScrollPane(jta1);
		jb1 = new JButton("存入");
		
		
		jb1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(!jtf1.getText().equals("")) {
					
					Stu s1 = new Stu();
					s1.setid(jtf1.getText());
					s1.setname(jtf2.getText());
					list.add(s1);
					JOptionPane.showMessageDialog(null, "学生信息录入成功"+list.size());
					jtf1.setText("");
					jtf2.setText("");
					
					
				}
				else {
					JOptionPane.showMessageDialog(null, "账号错误",null,JOptionPane.ERROR_MESSAGE);
				}
			}
			
		});
		jb2 = new JButton("输出");
		jb2.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				jta1.setText("");
				for(int i=0;i<list.size();i++)
				{
					Stu s = list.get(i);
					jta1.append(s.getid()+"\t"+s.getname()+"\n");
				}
				JOptionPane.showMessageDialog(null, "学生信息数为"+list.size());
			}
		});
		jb3 = new JButton("删除");
		jb3.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				int index = -1;
				for(int i=0;i<list.size();i++) {
					Stu s = list.get(i);
					if(jtf1.getText().equals(s.getid()))
					{
						index = i;
						break;
					}
					}
					if(index == -1)
					{
						JOptionPane.showMessageDialog(null, "删除的学号不存在!");
					}
					else {
						list.remove(index);
						JOptionPane.showMessageDialog(null, "删除成功!");
					}
				
				
			}
		});
		jb4 = new JButton("修改");
		jb4.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				int index =-1;
				for(int i=0;i<list.size();i++)
				{
					Stu s = list.get(i);
					if(jtf1.getText().equals(s.getid()))
					{
						index = i;
						break;
					}
				}
				if(index == -1)
				{
					JOptionPane.showMessageDialog(null, "没有此学号!");
					
				}
				else {
					Stu s = new Stu();
					s.setid(jtf1.getText());
					s.setname(jtf2.getName());
					list.set(index, s);
					JOptionPane.showMessageDialog(null, "修改成功!");
				}
				
			}
		});
		
		jp2 = new JPanel();
		jp3 = new JPanel();
		
		jp2.setLayout(new GridLayout(3,3));
		jp2.add(jl1);jp2.add(jtf1);
		jp2.add(jl2);jp2.add(jtf2);
		jp3.add(jb1);
		jp3.add(jb2);
		jp3.add(jb3);
		jp3.add(jb4);
		this.add(jsp);this.add(jp2);this.add(jp3);
		this.setLayout(new GridLayout(3,1));
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
		this.setSize(600,300);
		this.setLocationRelativeTo(null);
	}
}









 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Leng_tian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值