部分代码:(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);
}
}
}