用JAVA图形界面做一个学生管理系统,要有增删改查功能,不要连接数据库的那种,急用~~
你试一下这个。
应该都达到你说的了。
-------------------------------------------------------------------------------------------------------------------
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class AppStudent extends JFrame {
private JTextField nameField;
private JTextField sexField;
private JTextField ageField;
private JTextField stunoField;
private JTextField clazzField;
private JTextField facultyField;
private JTable table;
private DefaultTableModel model;
private String[] columns = { "姓名", "性别", "年龄", "学号", "班级", "系别" };
private List data;
private Student tmp;
// 姓名,性别,年龄,学号,班级,系别
public AppStudent() {
data = new ArrayList();
getContentPane().setLayout(null);
JLabel lblName = new JLabel("姓名");
lblName.setBounds(12, 10, 50, 13);
getContentPane().add(lblName);
nameField = new JTextField();
nameField.setBounds(74, 7, 96, 19);
getContentPane().add(nameField);
nameField.setColumns(10);
JLabel lblSex = new JLabel("性别");
lblSex.setBounds(182, 10, 50, 13);
getContentPane().add(lblSex);
sexField = new JTextField();
sexField.setBounds(244, 7, 96, 19);
getContentPane().add(sexField);
sexField.setColumns(10);
JLabel lblAge = new JLabel("年龄");
lblAge.setBounds(352, 10, 50, 13);
getContentPane().add(lblAge);
ageField = new JTextField();
ageField.setBounds(414, 7, 96, 19);
getContentPane().add(ageField);
ageField.setColumns(10);
JLabel lblStuno = new JLabel("学号");
lblStuno.setBounds(12, 36, 50, 13);
getContentPane().add(lblStuno);
stunoField = new JTextField();
stunoField.setColumns(10);
stunoField.setBounds(74, 33, 96, 19);
getContentPane().add(stunoField);
JLabel lblClass = new JLabel("班级");
lblClass.setBounds(182, 36, 50, 13);
getContentPane().add(lblClass);
clazzField = new JTextField();
clazzField.setColumns(10);
clazzField.setBounds(244, 33, 96, 19);
getContentPane().add(clazzField);
JLabel lblFaculty = new JLabel("系别");
lblFaculty.setBounds(352, 36, 50, 13);
getContentPane().add(lblFaculty);
facultyField = new JTextField();
facultyField.setColumns(10);
facultyField.setBounds(414, 33, 96, 19);
getContentPane().add(facultyField);
JButton btnAdd = new JButton("add");
btnAdd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
add();
}
});
btnAdd.setBounds(192, 59, 67, 21);
getContentPane().add(btnAdd);
JButton btnDel = new JButton("del");
btnDel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
del();
}
});
btnDel.setBounds(271, 59, 58, 21);
getContentPane().add(btnDel);
JButton btnUpdate = new JButton("update");
btnUpdate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
update();
}
});
btnUpdate.setBounds(352, 59, 77, 21);
getContentPane().add(btnUpdate);
JButton btnFind = new JButton("find");
btnFind.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
find();
}
});
btnFind.setBounds(441, 59, 69, 21);
getContentPane().add(btnFind);
model = new DefaultTableModel(columns, 0);
table = new JTable(model);
table.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
int row = table.getSelectedRow();
nameField.setText((String) table.getValueAt(row, 0));
sexField.setText((String) table.getValueAt(row, 1));
ageField.setText((String) table.getValueAt(row, 2));
stunoField.setText((String) table.getValueAt(row, 3));
clazzField.setText((String) table.getValueAt(row, 4));
facultyField.setText((String) table.getValueAt(row, 5));
tmp = getInput();
}
});
JScrollPane scrollPane = new JScrollPane(table);
scrollPane.setBounds(12, 90, 571, 248);
getContentPane().add(scrollPane);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setSize(601, 380);
setResizable(false);
setVisible(true);
}
private Student getInput() {
Student stu = new Student();
stu.name = nameField.getText();
stu.sex = sexField.getText();
stu.age = ageField.getText();
stu.stuno = stunoField.getText();
stu.clazz = clazzField.getText();
stu.faculty = facultyField.getText();
return stu;
}
private void add() {
data.add(getInput());
showTable();
}
private void del() {
for (int i = 0; i data.size(); i++) {
if (tmp.equals(data.get(i))) {
data.remove(i);
break;
}
}
showTable();
}
private void update() {
Student stu = getInput();
for (int i = 0; i data.size(); i++) {
if (tmp.equals(data.get(i))) {
data.remove(i);
data.add(i, stu);
break;
}
}
showTable();
}
private void find() {
removeRows();
Student stu = getInput();
for (int i = 0; i data.size(); i++) {
Student tmp = (Student) data.get(i);
if (tmp.equals(stu)) {
model.addRow(tmp.toArray());
break;
}
}
}
private void showTable() {
removeRows();
for (int i = 0; i data.size(); i++) {
Student stu = (Student) data.get(i);
model.addRow(stu.toArray());
}
}
private void removeRows() {
while (model.getRowCount() 0) {
model.removeRow(0);
}
}
public static void main(String[] args) {
new AppStudent();
}
}
class Student implements Serializable {
public String name;
public String sex;
public String age;
public String stuno;
public String clazz;
public String faculty;
public boolean equals(Object obj) {
return equals((Student) obj);
}
public boolean equals(Student obj) {
boolean isName = true;
if (obj.name != null !"".equals(obj.name)) {
isName = name.equals(obj.name);
}
boolean isSex = true;
if (obj.sex != null !"".equals(obj.sex)) {
isSex = sex.equals(obj.sex);
}
boolean isAge = true;
if (obj.age != null !"".equals(obj.age)) {
isAge = age.equals(obj.age);
}
boolean isStuno = true;
if (obj.stuno != null !"".equals(obj.stuno)) {
isStuno = stuno.equals(obj.stuno);
}
boolean isClazz = true;
if (obj.clazz != null !"".equals(obj.clazz)) {
isClazz = clazz.equals(obj.clazz);
}
boolean isfaculty = true;
if (obj.faculty != null !"".equals(obj.faculty)) {
isfaculty = faculty.equals(obj.faculty);
}
return isName isSex isAge isStuno isClazz isfaculty;
}
public String[] toArray() {
return new String[] { name, sex, age, stuno, clazz, faculty };
}
}
求java成绩管理系统 基于GUI的
可以凭借Baidu Hi提示我
有时间可能完成你所面临的任务
一样的要求也可能提示我
ES:\\878AFADABB0A92F4700D396BA87C2A85
java gui设计
Eclipse开发环境下Java可视化编程。
首先打开eclipse
Help→Instal New Software
在Work with输入
这里把4.4改成你自己的eclipse版本号,如果搜索不到适合版本的,再选择4.4版本
将下方出现的全部安装。
等安装完成后,要重启eclipse。
启动eclipse
在包名上右键→New→Other→WindowBuilder
该文件夹下,就是实现可视化编程功能
然后输入类名,完成创建。
创建完成会直接出现基本代码
在代码最下,有两个按键
Source就是当前页面的代码
Design就是可视化编程设计界面
点击Design后,稍等一会。
当出现设计界面,就可以设计图形界面了。
java编程实现一个学生信息管理系统的图形界面
package 学生管理界面;
import java.awt.BorderLayout;
import java.awt.Checkbox;
import java.awt.CheckboxGroup;
import java.awt.Container;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
//录入的信息包括学号、姓名、性别、出生日期、是否联合培养等
public class 学生信息图形界面 extends JFrame implements ActionListener {
public 学生信息图形界面() { //构造方法
//界面显示问题
super("学生信息图形界面");
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setSize(320, 300);
setVisible(true);
Container content = getContentPane();
JPanel jp1 = new JPanel(); //创建一个面板
JLabel label = new JLabel("欢迎使用学生信息管理系统"); //欢迎界面的欢迎语句
label.setFont(new Font("楷体_GB2312", Font.BOLD, 20)); //设置显示的字体
jp1.add(label); //将标签添加到面板jp1中
JPanel jp2 = new JPanel(); //创建一个面板,用于摆放提示各种功能的标签
JLabel label1 = new JLabel("请输入学生的详细资料:"); //输入提示输入的语言:
label1.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
JLabel label2 = new JLabel("学 生 学 号:"); //提示各种输入内容的标签
label2.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体t
JTextField field1=new JTextField(10); //10为学号长度,可自行设定
JLabel label3 = new JLabel("学 生 姓 名:"); //提示输入学生姓名的标签
label3.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
JTextField field2=new JTextField(10); //10为姓名长度,可自行设定
JLabel label4 = new JLabel("学 生 性 别: "); //提示输入学生性别的标签
label4.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
CheckboxGroup group1 = new CheckboxGroup(); //创建一个复选框用于选择某一功能
Checkbox check11 = new Checkbox("男",true,group1); //添加选项到复选框中
check11.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
check11.addItemListener(new CheckHandler1(1)); //给相应复选框添加事件监听器
Checkbox check12 = new Checkbox("女",false,group1); //添加选项到复选框中
check12.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
check12.addItemListener(new CheckHandler1(2)); //给相应复选框添加事件监听器
JLabel label5 = new JLabel("出 生 日 期:"); //提示输入出生日期的标签
label5.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
JTextField field3=new JTextField("2000",3); //3为姓名长度,可自行设定
JLabel label51 = new JLabel("年");
label51.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
JTextField field4=new JTextField("01",2); //2为姓名长度,可自行设定
JLabel label52 = new JLabel("月");
label52.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
JTextField field5=new JTextField("01",2); //2为姓名长度,可自行设定
JLabel label53 = new JLabel("日");
label53.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
JLabel label6 = new JLabel("联合培养:"); //提示选择联合培养与否的标签
label6.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
CheckboxGroup group2 = new CheckboxGroup(); //创建一个复选框用于选择某一功能
Checkbox check21 = new Checkbox("是",true,group2); //添加选项到复选框中
check21.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
check21.addItemListener(new CheckHandler2(1)); //给相应复选框添加事件监听器
Checkbox check22 = new Checkbox("否",false,group2); //添加选项到复选框中
check22.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
check22.addItemListener(new CheckHandler2(2)); //给相应复选框添加事件监听器
//添加组件到面板容器中
jp2.add(label1);
jp2.add(label2);
jp2.add(field1);
jp2.add(label3);
jp2.add(field2);
jp2.add(label4);
jp2.add(check11); jp2.add(check12);
jp2.add(label5);
jp2.add(field3);jp2.add(label51); jp2.add(field4);jp2.add(label52); jp2.add(field5);jp2.add(label53);
jp2.add(label6);
jp2.add(check21); jp2.add(check22);
content.add(jp1, BorderLayout.NORTH); //分别添加面板到容器中
content.add(jp2, BorderLayout.CENTER); //分别添加面板到容器中
}
public void actionPerformed(ActionEvent e) {
// 事件响应处理
}
class CheckHandler1 implements ItemListener //复选框键的事件响应类
{
private int sel;
CheckHandler1(int select)
{
sel = select;
}
public void itemStateChanged(ItemEvent e)
{
switch(sel)
{
case 1:method1();break; //调用选择的相应功能的方法
case 2:method2();break; //调用选择的相应功能的方法
}
}
private void method1() { //事件响应方法
}
private void method2() { // 事件响应方法
}
}
class CheckHandler2 implements ItemListener //复选框键的事件响应类
{
private int sel;
CheckHandler2(int select)
{
sel = select;
}
public void itemStateChanged(ItemEvent e)
{
switch(sel)
{
case 1:method1();break; //调用选择的相应功能的方法
case 2:method2();break; //调用选择的相应功能的方法
}
}
private void method1() { //事件响应方法
}
private void method2() { //事件响应方法
}
}
//测试
public static void main(String[] args) {
学生信息图形界面 界面 = new 学生信息图形界面();
界面.setVisible(true);
}
}