📄 searchpanel.java
字号:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class SearchPanel extends JPanel
{
private final Font font = new Font("华文新魏", Font.PLAIN, 20);
private JLabel title;
private JComboBox typeBox, operateBox, orderBox;
private JTextField key;
private JButton searchButton, allButton;
private JTable table;
private JPanel centerPanel;
public SearchPanel()
{
super();
setLayout(new BorderLayout());
title = new JLabel("库存查寻", JLabel.CENTER);
title.setFont(font);
add(title, BorderLayout.NORTH);
centerPanel = new JPanel();
centerPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
typeBox = new JComboBox();
typeBox.addItem(" 影片名 ");
typeBox.addItem(" 类型");
typeBox.addItem(" 主演");
typeBox.addItem(" 国家");
centerPanel.add(typeBox);
operateBox = new JComboBox();
operateBox.addItem(" 等于 ");
operateBox.addItem(" 包含 ");
centerPanel.add(operateBox);
key = new JTextField(15);
centerPanel.add(key);
orderBox = new JComboBox();
orderBox.addItem(" 升序 ");
orderBox.addItem(" 降序 ");
centerPanel.add(orderBox);
searchButton = new JButton("查询");
searchButton.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
if(key.getText().equals(""))
{
JOptionPane.showMessageDialog(SearchPanel.this, "关键字不能为空!");
}
else
{
String query = "select filmID 编号, filmName 影片名, filmType"
+ " 类型, CDNumber '片(集)数', players 主演, hireTimes 被租次数, country 国家,"
+ " remark 备注 from films where ";
switch(typeBox.getSelectedIndex())
{
case 0:
query += "filmName ";
break;
case 1:
query += "filmType ";
break;
case 2:
query += "players ";
break;
case 3:
query += "country ";
break;
}
query += (operateBox.getSelectedIndex() == 0) ? ("= '" + key.getText() + "' ")
: ("like '%" + key.getText() + "%' ");
query += "order by filmID ";
query += (orderBox.getSelectedIndex() == 0) ? ("asc") : ("desc");
try
{
FilmHireSystem.tableModel.setQuery(query);
}
catch(Exception exception)
{
System.err.println("数据库查询错误:" + exception.getMessage());
}
}
}
}
);
centerPanel.add(searchButton);
allButton = new JButton("全部影片");
allButton.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
try
{
FilmHireSystem.tableModel.setQuery("select filmID 编号, filmName 影片名, filmType"
+ " 类型, CDNumber '片(集)数', players 主演, hireTimes 被租次数, country 国家,"
+ " remark 备注 from films");
}
catch(Exception exception)
{
System.err.println("数据库查询错误:" + exception.getMessage());
}
}
}
);
centerPanel.add(allButton);
add(centerPanel, BorderLayout.CENTER);
try
{
FilmHireSystem.tableModel.setQuery("select filmID 编号, filmName 影片名, filmType"
+ " 类型, CDNumber '片(集)数', players 主演, hireTimes 被租次数, country 国家,"
+ " remark 备注 from films");
}
catch(Exception exception)
{
System.err.println("数据库查询错误:" + exception.getMessage());
}
table = new JTable(FilmHireSystem.tableModel);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
table.getTableHeader().setReorderingAllowed(false);
add(new JScrollPane(table), BorderLayout.SOUTH);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -