编写一个学生信息系统的菜单程序,在菜单其中的增加记录的菜单选项中实现对一条学生记录的录入,记录中需要有学号、姓名、性别,年龄籍贯等字段,要求用最合适的控件录入。

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

部分代码:(QueryFrame)
package com.ybn.student.ui;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;

//查询
@SuppressWarnings("serial")
public class QueryFrame extends JFrame implements ActionListener {
    String title;
    JLabel lbNull, lbId, lbName;
    JTextField tfId, tfName;
    JScrollPane resultPanel;
    JTextArea taResult;
    JButton btQuery, btExit;
    JTable table;
    final StudentTableModel myTableModel = new StudentTableModel();

    public QueryFrame(String title) {
        super(title);
        this.title = title;
        lbNull = new JLabel("+", SwingConstants.CENTER);
        lbId = new JLabel("学号", SwingConstants.CENTER);
        tfId = new JTextField(6);
        lbName = new JLabel("姓名", SwingConstants.CENTER);
        tfName = new JTextField(6);
        taResult = new JTextArea(20, 160);
        taResult.setEditable(false);
        btQuery = new JButton("查询");
        btExit = new JButton("退出");
        table = new JTable();
        myTableModel.setRowData("Select * from studentinfo where true");
        table.setModel(myTableModel);
        resultPanel = new JScrollPane(table);
    }
    public void go() {
        setSize(360, 360);
        setLayout(null);
        JPanel inputPanel = new JPanel();
        inputPanel.setLayout(new GridLayout(2, 3));
        Border etched = BorderFactory.createEtchedBorder();
        Border border = BorderFactory.createTitledBorder(etched, "查询条件");
        inputPanel.setBorder(border);
        inputPanel.setSize(200, 50);
        inputPanel.add(lbId);
        inputPanel.add(tfId);
        inputPanel.add(lbName);
        inputPanel.add(tfName);
        inputPanel.setBounds(10, 20, 300, 60);
        add(inputPanel);
        btQuery.setBounds(40, 80, 60, 20);
        add(btQuery);
        btExit.setBounds(180, 80, 60, 20);
        add(btExit);
        btQuery.addActionListener(this);
        btExit.addActionListener(this);
        // resultPanel= new JScrollPane(new JTable(100,3));
        resultPanel.setBounds(10, 110, 300, 200);
        add(resultPanel);
        setVisible(true);
    }
    public void actionPerformed(ActionEvent e) {
            // 从控件中获取用户输入,并根据输入进行查询
        if (e.getActionCommand() == "查询") {
            String id = tfId.getText();
            String name = tfName.getText();
            String sql="select * from studentinfo where true ";
            if(!id.isEmpty())  sql += " and id like '%"+id+"%' ";
            if(!name.isEmpty())  sql += " and name like '%"+name+"%' ";
            System.out.println(sql);
            myTableModel.setRowData(sql);           
        }
        if (e.getActionCommand() == "退出") {
            this.setVisible(false);
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值