展开全部
这是三个类,你62616964757a686964616fe58685e5aeb931333332613138重新整一下哟!package database.other;import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;public class MainFrame extends JFrame implements ActionListener {
private static final long serialVersionUID = 7094024210608765600L;
private UserModel model;
private JTextField txtName = new JTextField(10);
private JTextField txtPWD = new JTextField(10);
private JButton btnAdd = new JButton("添加");public MainFrame() {
super("数据库表格演示");
this.setLayout(new BorderLayout());
//添加Table
model = new UserModel();
JTable table = new JTable(model);
table.setFont(new Font(null, Font.PLAIN, 20));
table.getTableHeader().setFont(new Font(null, Font.BOLD, 22));
this.add(new JScrollPane(table), BorderLayout.CENTER);
//添加数据相关控件
JPanel panel = new JPanel(new FlowLayout());
panel.add(new JLabel("姓名:"));
panel.add(txtName);
panel.add(new JLabel("密码:"));
panel.add(txtPWD);
panel.add(btnAdd);
this.add(panel, BorderLayout.PAGE_END);
//事件绑定
btnAdd.addActionListener(this);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.pack();
this.setResizable(false);
this.setVisible(true);
}@Override
public void actionPerformed(ActionEvent e) {
boolean result = model.addUser(txtName.getText(), txtPWD.getText());
if (!result) {
JOptionPane.showMessageDialog(this, "数据添加失败!");
}
}public static void main(String[] args) {
new MainFrame();
}
}
package database.other;public class UserInfo {
private int userID;
private String userName;
private String passWord;public UserInfo() {
}public int getUserID() {
return userID;
}public void setUserID(int userID) {
this.userID = userID;
}public String getUserName() {
return userName;
}public void setUserName(String userName) {
this.userName = userName;
}public String getPassWord() {
return passWord;
}public void setPassWord(String passWord) {
this.passWord = passWord;
}@Override
public String toString() {
return String.format("%d,%s,%s", userID, userName, passWord);
}
}
package database.other;import database.one.SqlConnection;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;public class UserModel extends AbstractTableModel {
private static final long serialVersionUID = 3488161650785725386L;
private ArrayList users = new ArrayList();
private SqlConnection sc;public UserModel() {
super();
sc = new SqlConnection();
init();
}@Override
public int getColumnCount() {
return 3;
}@Override
public int getRowCount() {
return users.size();
}@Override
public Object getValueAt(int row, int column) {
UserInfo user = users.get(row);
switch (column) {
case 0:
return user.getUserID();
case 1:
return user.getUserName();
case 2:
return user.getPassWord();
default:
return null;
}
}@Override
public String getColumnName(int column) {
switch (column) {
case 0:
return "用户编号";
case 1:
return "用户名称";
case 2:
return "用户密码";
default:
return super.getColumnName(column);
}
}private void init() {
//初始化数据
Connection conn = sc.getConnection();
String sql = "select * from UserInfo";
try {
Statement s = conn.createStatement();
ResultSet rs = s.executeQuery(sql);
while (rs.next()) { //读取数据到集合中
UserInfo user = new UserInfo();
user.setUserID(rs.getInt(1));
user.setUserName(rs.getString(2));
user.setPassWord(rs.getString(3));
users.add(user);
}
}
catch (SQLException e) {
System.out.printf("%s%n", e.getMessage());
}
finally {
try {
conn.close();
}
catch (SQLException e) {
}
}
}public boolean addUser(String userName, String passWord) {
//添加用户
Connection conn = sc.getConnection();
String sql = "insert into UserInfo (UserName,PassWord) values (?,?)";
PreparedStatement ps;
UserInfo user = new UserInfo();
user.setUserName(userName);
user.setPassWord(passWord);
try {
ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
ps.setString(1, userName);
ps.setString(2, passWord);
int x = ps.executeUpdate();
if (x == 1) {
ResultSet rs = ps.getGeneratedKeys();
if (rs.next()) {
user.setUserID(rs.getInt(1));
}
users.add(user);
fireTableDataChanged();
return true;
}
return false;
}
catch (SQLException e) {
System.out.printf("%s%n", e.getMessage());
return false;
}
finally {
try {
conn.close();
}
catch (SQLException e) {
}
}
}
}
回答完毕,希望对你的提问有帮助,如果满意请采纳o(∩_∩)o...哈哈
已赞过
已踩过<
你对这个回答的评价是?
评论
收起