📄 userpanel.java
字号:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class UserPanel extends JPanel
{
private JLabel title;
private final Font font = new Font("华文新魏", Font.PLAIN, 20);
private JPanel centerPanel;
private String labelName[] = {"编号", "姓名", "电话", "地址", "身份证号码", "已租碟数", "租碟类型"};
private JTextField text[] = new JTextField[7];
private JButton addButton, changeButton, cancelButton;
private JTable table;
private String query = "select lesseeID 编号, lesseeName 姓名, phone 电话,"
+ " address 地址, IDCard 身份证号码, hadHireNumber 已租碟数, "
+ "hireTypeID 租碟类型 from lessees";
private String lesseeID;
public UserPanel()
{
super();
setLayout(new BorderLayout());
title = new JLabel("会员管理", JLabel.CENTER);
title.setFont(font);
add(title, BorderLayout.NORTH);
centerPanel = new JPanel();
centerPanel.setLayout(new GridLayout(3, 6, 5, 5));
for(int i = 0; i < labelName.length; i ++)
{
title = new JLabel(labelName[i], JLabel.CENTER);
centerPanel.add(title);
text[i] = new JTextField();
text[i].setEditable(false);
centerPanel.add(text[i]);
}
addButton = new JButton("添加会员");
addButton.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
if(event.getActionCommand().equals("添加会员"))
{
for(int i = 0; i < labelName.length; i ++)
{
if(i != 0 && i != 5) text[i].setEditable(true);
text[i].setText("");
}
addButton.setText("确定");
changeButton.setEnabled(false);
cancelButton.setEnabled(true);
text[5].setText("0");
table.setCellSelectionEnabled(false);
}
else
{
boolean empty = false;
for(int i = 1; i < labelName.length; i ++)
{
if(text[i].getText().equals("")) empty = true;
}
if(empty)
{
JOptionPane.showMessageDialog(UserPanel.this, "请输入完整的信息!");
}
else
{
String exe = "insert into lessees values('" + text[1].getText()
+ "', '" + text[2].getText()
+ "', '" + text[3].getText()
+ "', '" + text[4].getText()
+ "', '" + text[5].getText()
+ "', '" + FilmHireSystem.tableModel.adminID
+ "', '" + text[6].getText()
+ "')";
try
{
FilmHireSystem.tableModel.setExecute(exe, query);
}
catch(SQLException sql)
{
JOptionPane.showMessageDialog(null, sql.getMessage(),
"数据库查询错误", JOptionPane.ERROR_MESSAGE);
System.err.println(sql.getMessage());
}
query();
for (int i = 0; i<labelName.length; i++)
{
text[i].setEditable(false);
}
addButton.setText("添加会员");
changeButton.setEnabled(true);
cancelButton.setEnabled(false);
table.setRowSelectionAllowed(true);
int i = table.getRowCount() - 1;
table.setRowSelectionInterval(i, i);
showInfo(i);
}
}
}
}
);
centerPanel.add(addButton);
changeButton = new JButton("修改信息");
changeButton.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
if(event.getActionCommand().equals("修改信息"))
{
lesseeID = text[0].getText();
for (int i = 1; i<labelName.length; i++)
{
text[i].setEditable(true);
}
cancelButton.setEnabled(true);
changeButton.setText("确定");
addButton.setEnabled(false);
table.setCellSelectionEnabled(false);
}
else
{
boolean empty = false;
for(int i = 0; i < labelName.length; i ++)
{
if(text[i].getText().equals("")) empty = true;
}
if(empty)
{
JOptionPane.showMessageDialog(UserPanel.this, "请输入完整的信息!");
}
else
{
String exe = "update lessees set adminID = '" + FilmHireSystem.tableModel.adminID
+ "', lesseeName = '" + text[1].getText()
+ "', phone = '" + text[2].getText()
+ "', address = '" + text[3].getText()
+ "', IDCard = '" + text[4].getText()
+ "', hadHireNumber = '" + text[5].getText()
+ "', hireTypeID = '" + text[6].getText()
+ "' where lesseeID = '" + lesseeID + "'";
try
{
FilmHireSystem.tableModel.setExecute(exe, query);
}
catch(SQLException sql)
{
JOptionPane.showMessageDialog(null, sql.getMessage(),
"数据库查询错误", JOptionPane.ERROR_MESSAGE);
System.err.println(sql.getMessage());
}
query();
for (int i = 0; i<labelName.length; i++)
{
text[i].setEditable(false);
}
addButton.setEnabled(true);
changeButton.setText("修改信息");
cancelButton.setEnabled(false);
table.setRowSelectionAllowed(true);
}
}
}
}
);
centerPanel.add(changeButton);
cancelButton = new JButton("取消");
cancelButton.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
for (int i = 0; i<labelName.length; i++)
{
text[i].setEditable(false);
}
if(table.getRowCount() != 0) showInfo(table.getSelectedRow());
else
{
for (int i = 0; i<labelName.length; i++)
{
text[i].setText("");
}
}
addButton.setText("添加会员");
addButton.setEnabled(true);
if(table.getRowCount() != 0)
{
changeButton.setText("修改信息");
changeButton.setEnabled(true);
}
cancelButton.setEnabled(false);
table.setRowSelectionAllowed(true);
}
}
);
cancelButton.setEnabled(false);
centerPanel.add(cancelButton);
add(centerPanel, BorderLayout.CENTER);
query();
table = new JTable(FilmHireSystem.tableModel);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
table.getTableHeader().setReorderingAllowed(false);
table.addMouseListener(
new MouseAdapter()
{
public void mouseReleased(MouseEvent event)
{
if(table.getRowSelectionAllowed())
{
showInfo(table.getSelectedRow());
}
}
}
);
if(table.getRowCount() == 0) changeButton.setEnabled(false);
else
{
table.setRowSelectionInterval(0, 0);
showInfo(0);
}
add(new JScrollPane(table), BorderLayout.SOUTH);
}
public void query()
{
try
{
FilmHireSystem.tableModel.setQuery(query);
}
catch(Exception exception)
{
System.err.println("数据库查询错误:" + exception.getMessage());
}
}
public void showInfo(int index)
{
for(int i = 0; i < labelName.length; i ++)
{
text[i].setText(table.getValueAt(index, i).toString());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -