本篇文章主要利用简单的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);
}
}
本文通过使用awt和swing组件,展示了如何在Java中创建学生信息管理系统的简单界面。虽然设计简洁,但有助于理解Java界面布局管理和组件交互。

3万+

被折叠的 条评论
为什么被折叠?



