JAVA GUI 简单的学生信息输入窗口

package fafaf;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class awdad {

	public static void main(String[] str) {
		final JFrame frame = new JFrame();
		frame.setSize(500,220);                                  /*设置java GUI程序的窗口大小*/
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    /*提供一个界面可以关闭的方法*/
		frame.setResizable(false);                                /*设置一个窗体是否可以因为用户自己调试大小(false否)*/
		
		JPanel panel = new JPanel();   /*创建画板*/
		JPanel panel1=new JPanel();    /*创建第二个画板*/
		                               /*有画板才能将组件添加到画板里面*/
		
		final JTextField input1 = new JTextField("姓名:");  /*创建一个文本框输出窗口*/
		
		final JRadioButton input2 = new JRadioButton("男");      /*添加男女选项*/
		final JRadioButton input22 = new JRadioButton("女");
		ButtonGroup group=new ButtonGroup();                    /*利用ButtonGroup实现选项互斥*/
		group.add(input2);                                      /*这样就不会变成多选*/
		group.add(input22);                
		
		final JTextArea jtx=new JTextArea(10,21);        /*设置输出文本域的大小*/
		jtx.setVisible(true);                            /*设置文本域是否显示(true显示)*/
		JButton button = new JButton("确定");             /*添加一个确定按钮*/
		
		BorderLayout layout=new BorderLayout();       /*创建边界布局*/
		GridLayout gl=new GridLayout(4,1);               /*创建网格布局*/

		JComboBox<String> c1 = new JComboBox<String>();   /*专业选择项目*/
		c1.addItem("请选择你的专业");                       /*c1为添加项目内容*/
		c1.addItem("1");      /*内容可修改*/
		c1.addItem("2");
		c1.addItem("3");
		c1.addItem("4");

		JPanel sex = new JPanel();		/*性别选项面板*/
		sex.add(input2);				/*添加性别男*/
		sex.add(input22);				/*添加性别女*/
		panel.setLayout(gl);                             /*(gl是网格布局)把网格布局添加到画板panle中*/
		panel1.setLayout(layout);                        /*(layout是边界布局)把网格布局添加到画板panle1中*/
		
		
		panel.add(input1);              /*姓名的输入文本框*/
		
		panel.add(sex);                 /*添加性别选项面板*/
		
		panel.add(c1);                  /*添加专业选择项目*/
		panel.add(button);              /*添加确定按钮*/
		
		panel1.add(panel,"Center");       /*添加画板1也是就是学生数据到网格布局的东侧*/
		panel1.add(jtx,"West");         /*添加文本域到网格布局的西侧*/
		
		
		button.addActionListener(new ActionListener() {     /*按钮监听事件*/
		public void actionPerformed(ActionEvent arg0) {
		String str1 = input1.getText().trim();     /*输出方法*/
		
		
		String info ="";
		//通过面板属性名获取到该面板上的所有组件
        for(Component c:sex.getComponents()){
            if(c instanceof JRadioButton){
                if(((JRadioButton) c).isSelected()){
                    info += ((JRadioButton)c).getText();
                }
            }
        }
   
    	String s=(String)c1.getSelectedItem();/*利用getSelectedItem读取JComboBox<String>中的值*/
        /*赋值给s,然后以s输出*/
    	
		jtx.setText(str1+"\n"+"性别:"+info+"\n"+"专业:"+s);
		}
		});

		frame.add(panel1, BorderLayout.NORTH);
		frame.setVisible(true);
		}
		}

 学校实训做完的内容发出来分享下

有错误请指责改正。

  • 3
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以提供一个简单Java GUI学生信息管理系统的示例代码,您可以根据自己的需要进行修改和优化。 ```java import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; public class StudentInfoSystem extends JFrame implements ActionListener { private JLabel nameLabel, idLabel, genderLabel, classLabel; private JTextField nameText, idText, genderText, classText; private JButton addButton, deleteButton, updateButton, searchButton; private JTextArea infoArea; private ArrayList<Student> studentList; public StudentInfoSystem() { initGUI(); initListeners(); studentList = new ArrayList<>(); } private void initGUI() { // 初始化窗口 setTitle("学生信息管理系统"); setSize(500, 500); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); // 初始化控件 nameLabel = new JLabel("姓名:"); nameText = new JTextField(); idLabel = new JLabel("学号:"); idText = new JTextField(); genderLabel = new JLabel("性别:"); genderText = new JTextField(); classLabel = new JLabel("班级:"); classText = new JTextField(); addButton = new JButton("添加"); deleteButton = new JButton("删除"); updateButton = new JButton("修改"); searchButton = new JButton("查询"); infoArea = new JTextArea(); // 布局控件 JPanel inputPanel = new JPanel(new GridLayout(4, 2)); inputPanel.add(nameLabel); inputPanel.add(nameText); inputPanel.add(idLabel); inputPanel.add(idText); inputPanel.add(genderLabel); inputPanel.add(genderText); inputPanel.add(classLabel); inputPanel.add(classText); JPanel buttonPanel = new JPanel(new GridLayout(1, 4)); buttonPanel.add(addButton); buttonPanel.add(deleteButton); buttonPanel.add(updateButton); buttonPanel.add(searchButton); JScrollPane scrollPane = new JScrollPane(infoArea); setLayout(new BorderLayout()); add(inputPanel, BorderLayout.NORTH); add(buttonPanel, BorderLayout.CENTER); add(scrollPane, BorderLayout.SOUTH); } private void initListeners() { addButton.addActionListener(this); deleteButton.addActionListener(this); updateButton.addActionListener(this); searchButton.addActionListener(this); } @Override public void actionPerformed(ActionEvent e) { if (e.getSource() == addButton) { addStudent(); } else if (e.getSource() == deleteButton) { deleteStudent(); } else if (e.getSource() == updateButton) { updateStudent(); } else if (e.getSource() == searchButton) { searchStudent(); } } private void addStudent() { String name = nameText.getText().trim(); String id = idText.getText().trim(); String gender = genderText.getText().trim(); String clazz = classText.getText().trim(); if (name.isEmpty() || id.isEmpty() || gender.isEmpty() || clazz.isEmpty()) { JOptionPane.showMessageDialog(this, "请填写完整信息"); return; } Student student = new Student(name, id, gender, clazz); studentList.add(student); infoArea.setText(getStudentInfo()); clearInput(); } private void deleteStudent() { String id = idText.getText().trim(); if (id.isEmpty()) { JOptionPane.showMessageDialog(this, "请输入学号"); return; } boolean isDeleted = false; for (int i = 0; i < studentList.size(); i++) { if (studentList.get(i).getId().equals(id)) { studentList.remove(i); isDeleted = true; break; } } if (isDeleted) { infoArea.setText(getStudentInfo()); JOptionPane.showMessageDialog(this, "删除成功"); clearInput(); } else { JOptionPane.showMessageDialog(this, "该学号不存在"); } } private void updateStudent() { String id = idText.getText().trim(); if (id.isEmpty()) { JOptionPane.showMessageDialog(this, "请输入学号"); return; } boolean isUpdated = false; for (int i = 0; i < studentList.size(); i++) { if (studentList.get(i).getId().equals(id)) { Student student = studentList.get(i); student.setName(nameText.getText().trim()); student.setGender(genderText.getText().trim()); student.setClazz(classText.getText().trim()); isUpdated = true; break; } } if (isUpdated) { infoArea.setText(getStudentInfo()); JOptionPane.showMessageDialog(this, "修改成功"); clearInput(); } else { JOptionPane.showMessageDialog(this, "该学号不存在"); } } private void searchStudent() { String id = idText.getText().trim(); if (id.isEmpty()) { JOptionPane.showMessageDialog(this, "请输入学号"); return; } boolean isSearched = false; for (int i = 0; i < studentList.size(); i++) { if (studentList.get(i).getId().equals(id)) { Student student = studentList.get(i); nameText.setText(student.getName()); genderText.setText(student.getGender()); classText.setText(student.getClazz()); isSearched = true; break; } } if (!isSearched) { JOptionPane.showMessageDialog(this, "该学号不存在"); } } private String getStudentInfo() { StringBuilder sb = new StringBuilder(); for (int i = 0; i < studentList.size(); i++) { sb.append(studentList.get(i).toString()).append("\n"); } return sb.toString(); } private void clearInput() { nameText.setText(""); idText.setText(""); genderText.setText(""); classText.setText(""); } public static void main(String[] args) { new StudentInfoSystem().setVisible(true); } } class Student { private String name; private String id; private String gender; private String clazz; public Student(String name, String id, String gender, String clazz) { this.name = name; this.id = id; this.gender = gender; this.clazz = clazz; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getClazz() { return clazz; } public void setClazz(String clazz) { this.clazz = clazz; } @Override public String toString() { return "姓名:" + name + ", 学号:" + id + ", 性别:" + gender + ", 班级:" + clazz; } } ``` 这个程序可以实现添加、删除、修改和查询学生信息的功能,学生信息使用一个类来封装,然后使用一个ArrayList来保存学生信息。界面使用Java Swing来实现,包括文本框、标签、按钮和文本区域等控件。在添加、删除、修改和查询学生信息时,需要对输入的信息进行校验,如果有误则给出提示。最后,通过一个StringBuilder来拼接学生信息并在文本区域中显示出来。 这只是一个简单的示例程序,您可以根据实际需求进行修改和扩展。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值