package view;
import java.awt.Dimension;
import java.awt.EventQueue;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;
import java.util.List;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import dao.UserDao;
import entity.User;
public class UserFrame extends JFrame
{
// 定义布局
BorderLayout mainLayout = new BorderLayout();
CardLayout layout = new CardLayout();
JFrame bamFrame;
MainPanel mainPanel = new MainPanel();// 主面板
JPanel upPanel = new JPanel();// 主面板中的---上面板
JPanel downPanel = new JPanel();// 主面板中的---下面板
AddUserPanel addUserPanel = new AddUserPanel();
UpdateUserPanel updateUserPanel = new UpdateUserPanel();
final Object[] columnNames = {"编号", "用户名", "密码"}; //列名最好用final修饰
UserDao userdao = new UserDao();
Object[][] rowData = queryUser("");
DefaultTableModel model = new DefaultTableModel(rowData,columnNames);
JTable dataTable = new JTable (model);
JScrollPane pane1;
JScrollPane pane2;
JScrollPane pane3;
public UserFrame() {
downPanel.setLayout(layout);
//dataTable.setPreferredScrollableViewportSize(new Dimension(650, 100));//设置表格的大小
dataTable.setRowHeight (30);//设置每行的高度为20
dataTable.setRowHeight (0, 20);//设置第1行的高度为15
dataTable.setRowMargin (5);//设置相邻两行单元格的距离
dataTable.setSelectionBackground (Color.white);//设置所选择行的背景色
dataTable.setSelectionForeground (Color.blue);//设置所选择行的前景色
//friends.setGridColor (Color.black);//设置网格线的颜色
dataTable.selectAll ();//选择所有行
//dataTable.setRowSelectionInterval (1,2);//设置初始的选择行,这里是1到3行都处于选择状态
dataTable.clearSelection ();//取消选择
dataTable.setDragEnabled (false);//不懂这个
dataTable.setShowGrid (false);//是否显示网格线
dataTable.setShowHorizontalLines (false);//是否显示水平的网格线
dataTable.setShowVerticalLines (true);//是否显示垂直的网格线
//friends.setValueAt ("tt", 0, 0);//设置某个单元格的值,这个值是一个对象
dataTable.doLayout ();
dataTable.setBackground (Color.lightGray);
// 设置表格中的数据居中显示
DefaultTableCellRenderer r=new DefaultTableCellRenderer();
r.setHorizontalAlignment(JLabel.CENTER);
dataTable.setDefaultRenderer(Object.class,r);
pane1 = new JScrollPane (addUserPanel);//JTable最好加在JScrollPane上
pane1.setPreferredSize(new Dimension (450,300));
pane2 = new JScrollPane (updateUserPanel);//JTable最好加在JScrollPane上
pane2.setPreferredSize(new Dimension (450,300));
//JScrollPane pane2 = new JScrollPane (example2);
pane3 = new JScrollPane (dataTable);
pane3.setPreferredSize(new Dimension (450,300));
downPanel.add("cardSelect", pane3);// 卡片一 (查询)
downPanel.add("cardUpdate", pane2);// 卡片一 (修改)
downPanel.add("cardAdd", pane1);// 卡片一 (添加)
upPanel.add(mainPanel);
//downPanel.add(addCoursePanel);
//downPanel.add(pane1);
// 定义主窗体
bamFrame = new JFrame("用户信息管理");
bamFrame.setLayout(mainLayout);
bamFrame.setSize(550, 400);// 设定窗体大小
// 给窗体加面板
bamFrame.add(upPanel, BorderLayout.NORTH);
bamFrame.add(downPanel, BorderLayout.SOUTH);
addListeners();// 调用监听方法
bamFrame.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
//bamFrame.pack();
bamFrame.setVisible(true);
//设置窗口居中
bamFrame.setLocationRelativeTo(null);
}
// 窗体中部分对象监听方法
private void addListeners() {
// 查询按钮
mainPanel.getSelectButton().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String username = mainPanel.getUserNameField().getText();
System.out.print(username);
Object[][] rowData2 = queryUser(username);
model.setDataVector(rowData2, columnNames);
layout.show(downPanel, "cardSelect");
}
});
// 添加按钮
mainPanel.getAddButton().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
layout.show(downPanel, "cardAdd");
}
});
// 添加按钮
mainPanel.getUpdateButton().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int i = dataTable.getSelectedRow();
if(i>=0) {
String uuid = (String) dataTable.getValueAt(i, 0);
String username = (String) dataTable.getValueAt(i, 1);
String password = (String) dataTable.getValueAt(i, 2);
updateUserPanel.getUuidText().setText(uuid);
updateUserPanel.getUsernameText().setText(username);
updateUserPanel.getPasswordText().setText(password);
layout.show(downPanel, "cardUpdate");
}else {
JOptionPane.showMessageDialog(downPanel, "请选择要修改的用户信息!");
return;
}
}
});
// 点击《提交》按钮
addUserPanel.getOkButton().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String uuid = addUserPanel.getUuidText().getText();
String username = addUserPanel.getUsernameText().getText();
String password = addUserPanel.getPasswordText().getText();
if(uuid.equals("")) {
JOptionPane.showMessageDialog(downPanel, "编号不能为空!");
return;
}
if(username.equals("")) {
JOptionPane.showMessageDialog(downPanel, "用户名不能为空!");
return;
}
if(password.equals("")) {
JOptionPane.showMessageDialog(downPanel, "密码不能为空!");
return;
}
int j= userdao.addUser(uuid,username,password);
if(j>0) {
JOptionPane.showMessageDialog(downPanel, "用户信息添加成功!");
addUserPanel.getUuidText().setText("");
addUserPanel.getUsernameText().setText("");
addUserPanel.getPasswordText().setText("");
}else{
JOptionPane.showMessageDialog(downPanel, "用户信息添加失败!");
}
}
});
// 点击《返回》按钮
addUserPanel.getBackButton().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Object[][] rowData2 = queryUser("");
model.setDataVector(rowData2, columnNames);
layout.show(downPanel, "cardSelect");
}
});
// 点击《提交》按钮
updateUserPanel.getOkButton().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String uuid = updateUserPanel.getUuidText().getText();
String username = updateUserPanel.getUsernameText().getText();
String password = updateUserPanel.getPasswordText().getText();
int i= userdao.updateUser(uuid, username, password);
if(i>0) {
JOptionPane.showMessageDialog(downPanel, "用户信息修改成功!");
Object[][] rowData2 = queryUser("");
model.setDataVector(rowData2, columnNames);
layout.show(downPanel, "cardSelect");
}else{
JOptionPane.showMessageDialog(downPanel, "用户信息修改失败!");
}
}
});
// 点击《返回》按钮
updateUserPanel.getBackButton().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Object[][] rowData2 = queryUser("");
model.setDataVector(rowData2, columnNames);
layout.show(downPanel, "cardSelect");
}
});
// 点击《删除》按钮
mainPanel.getDelButton().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int i = dataTable.getSelectedRow();
if(i>=0) {
String uuid = (String) dataTable.getValueAt(i, 0);
int j
没有合适的资源?快使用搜索试试~ 我知道了~
基于Java+Swing+mysql用户信息管理系统
共36个文件
class:19个
java:8个
png:4个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 2 下载量 99 浏览量
2023-01-08
11:29:22
上传
评论 1
收藏 2.18MB RAR 举报
温馨提示
一、系统介绍 该系统实现了管理员系统登陆、用户信息查询、用户信息添加、用户信息修改、用户信息删除。 详见:https://blog.csdn.net/qq_33037637/article/details/124877241
资源推荐
资源详情
资源评论
收起资源包目录
基于Java+Swing+mysql用户信息管理系统.rar (36个子文件)
基于Java+Swing+mysql用户信息管理系统
UserInfo
lib
mysql-connector-java-8.0.21.jar 2.29MB
.classpath 471B
.settings
org.eclipse.jdt.core.prefs 8KB
src
dao
UserDao.java 4KB
view
UserFrame.java 9KB
UpdateUserPanel.java 2KB
AddUserPanel.java 2KB
MainPanel.java 1KB
LoginFrame.java 6KB
entity
User.java 504B
images
login.png 644B
reset.png 725B
util
DbUtils.java 1KB
bin
dao
UserDao.class 4KB
view
UserFrame$5.class 1KB
LoginFrame.class 7KB
UserFrame$3.class 2KB
UserFrame.class 5KB
UserFrame$6.class 2KB
UserFrame$7.class 1KB
UserFrame$8.class 2KB
LoginFrame$1.class 699B
AddUserPanel.class 2KB
UserFrame$4.class 2KB
MainPanel.class 1KB
LoginFrame$3.class 713B
UserFrame$2.class 839B
LoginFrame$2.class 699B
UpdateUserPanel.class 2KB
UserFrame$1.class 2KB
entity
User.class 889B
images
login.png 644B
reset.png 725B
util
DbUtils.class 1KB
.project 391B
db
user.sql 960B
共 36 条
- 1
资源评论
- mmmmssdd2023-06-18资源很受用,资源主总结的很全面,内容与描述一致,解决了我当下的问题。
- Mex_goy2023-02-25非常有用的资源,可以直接使用,对我很有用,果断支持!
五星资源
- 粉丝: 5501
- 资源: 1525
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功