package jtabletest;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTable;
import java.awt.Rectangle;
import javax.swing.JScrollPane;
import java.util.Vector;
import java.sql.*;
import java.util.ArrayList;
import javax.swing.JLabel;
import javax.swing.JTextField;
import java.awt.Font;
import javax.swing.JButton;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
public class JTableAppFrame extends JFrame {
JPanel contentPane;
Vector CellsVector = new Vector();
Vector TitleVector = new Vector();
JScrollPane scp = new JScrollPane();
JTable tab = null;
DBCon dbcon = new DBCon();
JLabel lbl_name = new JLabel();
JLabel lbl_age = new JLabel();
JLabel lbl_address = new JLabel();
JTextField txt_name = new JTextField();
JTextField txt_age = new JTextField();
JTextField txt_address = new JTextField();
JButton btn_add = new JButton();
JButton btn_del = new JButton();
JButton btn_update = new JButton();
JButton btn_reset = new JButton();
public JTableAppFrame() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
/**
* Component initialization.
*
* @throws java.lang.Exception
*/
private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(null);
this.setResizable(false);
setSize(new Dimension(400, 340));
setTitle("JTable");
scp.setBounds(new Rectangle(46, 32, 297, 157));
lbl_name.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
lbl_name.setText("姓名:");
lbl_name.setBounds(new Rectangle(46, 205, 42, 15));
lbl_age.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
lbl_age.setText("年龄:");
lbl_age.setBounds(new Rectangle(200, 205, 42, 15));
lbl_address.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
lbl_address.setText("地址:");
lbl_address.setBounds(new Rectangle(46, 232, 42, 15));
txt_name.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
txt_name.setBounds(new Rectangle(98, 205, 72, 21));
txt_age.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
txt_age.setBounds(new Rectangle(250, 205, 72, 21));
txt_address.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
txt_address.setBounds(new Rectangle(98, 232, 72, 21));
btn_add.setBounds(new Rectangle(46, 271, 83, 25));
btn_add.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
btn_add.setText("添 加");
btn_add.addActionListener(new JTableAppFrame_btn_add_actionAdapter(this));
btn_del.setBounds(new Rectangle(155, 271, 83, 25));
btn_del.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
btn_del.setText("删 除");
btn_del.addActionListener(new JTableAppFrame_btn_del_actionAdapter(this));
btn_update.setBounds(new Rectangle(260, 271, 83, 25));
btn_update.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
btn_update.setText("修 改");
btn_update.addActionListener(new
JTableAppFrame_btn_update_actionAdapter(this));
btn_reset.setBounds(new Rectangle(258, 232, 83, 25));
btn_reset.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
btn_reset.setText("重 置");
btn_reset.addActionListener(new JTableAppFrame_btn_reset_actionAdapter(this));
contentPane.add(scp);
contentPane.add(lbl_name);
contentPane.add(lbl_age);
contentPane.add(lbl_address);
contentPane.add(txt_name);
contentPane.add(txt_age);
contentPane.add(txt_address);
contentPane.add(btn_del);
contentPane.add(btn_update);
contentPane.add(btn_add);
contentPane.add(btn_reset);
dbcon.connectDB();
this.showTable();
tab = new JTable(CellsVector, TitleVector);
scp.getViewport().add(tab);
}
/*将信息在 Table 中显示*/
public void showTable() {
this.TitleVector.add("姓名");
this.TitleVector.add("年龄");
this.TitleVector.add("地址");
dbcon.select();
ArrayList list = dbcon.select();
for (int i = 0; i < list.size(); i++) {
Student stu = (Student) list.get(i);
Vector v = new Vector();
v.add(stu.getName());
v.add(stu.getAge());
v.add(stu.getAddress());
CellsVector.add(v);
}
}
/*检查信息*/
String name;
String age;
String address;
public int checkInformation() {
name = this.txt_name.getText();
age = this.txt_age.getText();
address = this.txt_address.getText();
if (name.equals("")) {
JOptionPane.showMessageDialog(this, "您好!请输入姓名!", "提示", 1);
this.txt_name.grabFocus();
return 0;
}
if (age.equals("")) {
JOptionPane.showMessageDialog(this, "您好!请输入年龄!", "提示", 1);
this.txt_age.grabFocus();
return 0;
}
char[] ans = age.toCharArray();
for (int i = 0; i < ans.length; i++) {
if (!Character.isDigit(ans[i])) {
JOptionPane.showMessageDialog(this, "您好!年龄输入错误!", "提示", 1);
this.txt_age.setText("");
this.txt_age.grabFocus();
return 0;
}
}
if (age.length() > 3) {
JOptionPane.showMessageDialog(this, "您好!年龄最高只能为 100 岁!", "提示", 1);
this.txt_age.setText("");
this.txt_age.grabFocus();
return 0;
}
if (address.equals("")) {
JOptionPane.showMessageDialog(this, "您好!请输入地址!", "提示", 1);
this.txt_address.grabFocus();
return 0;
}
ages = Integer.valueOf(age);
return 1;
}
/*添加*/
int ages;
public void btn_add_actionPerformed(ActionEvent e) {
if (this.checkInformation() == 0) {
return;
}
dbcon.insert(name, ages, address);
this.CellsVector.clear();
this.showTable();
this.tab.updateUI();
this.btn_reset_actionPerformed(e);
}
/*删除*/
ResultSet rs;
public void btn_del_actionPerformed(ActionEvent e) {
String name = this.txt_name.getText();
this.txt_age.setEditable(false);
this.txt_address.setEditable(false);
if (name.equals("")) {
JOptionPane.showMessageDialog(this, "您好!请输入姓名!", "提示", 1);
this.txt_name.grabFocus();
return;
}
try {
String sql = "select * from Student where name=?";
PreparedStatement ps = DBCon.con.prepareStatement(sql);
ps.setString(1, name);
rs = ps.executeQuery();
if (rs.next()) {
ps.close();
dbcon.delete(name);
this.CellsVector.clear();
this.showTable();
this.tab.updateUI();
this.btn_reset_actionPerformed(e);
} else {
JOptionPane.showMessageDialog(this, "您好!该学员不存在!", "提示", 1);
this.btn_reset_actionPerformed(e);
return;
}
} catch (SQLException ex) {
System.out.println("核对学员信息发生异常" + ex.getMessage());
}
}
/*修改*/
public void btn_update_actionPerformed(ActionEvent e) {
if (this.checkInformatio
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
JTable(JavaBean).rar (61个子文件)
JTableTest
JTableTest.jpx.local~ 1KB
Student
Student.sql 1007B
Student_log.ldf 2MB
Student_data.mdf 5MB
bak
jtabletest
DBCon.java~53~ 4KB
JTableAppFrame.java~125~ 13KB
DBCON.java~23~ 2KB
JTableAppFrame.java~72~ 10KB
JTableAppFrame.java~122~ 13KB
JTableAppFrame.java~129~ 13KB
DBCon.java~56~ 4KB
DBCon.java~59~ 4KB
JTableAppFrame.java~131~ 13KB
JTableAppFrame.java~66~ 9KB
JTableAppFrame.java~123~ 13KB
DBCON.java~22~ 2KB
DBCon.java~54~ 4KB
DBCON.java~17~ 1KB
JTableAppFrame.java~73~ 10KB
DBCON.java~18~ 1KB
JTableAppFrame.java~74~ 10KB
JTableAppFrame.java~67~ 9KB
JTableAppFrame.java~130~ 13KB
DBCon.java~61~ 4KB
DBCon.java~62~ 4KB
JTableAppFrame.java~48~ 7KB
DBCON.java~26~ 2KB
JTableAppFrame.java~68~ 10KB
DBCON.java~21~ 2KB
JTableAppFrame.java~128~ 13KB
DBCon.java~55~ 4KB
JTableAppFrame.java~126~ 13KB
JTableAppFrame.java~124~ 13KB
DBCON.java~19~ 2KB
DBCon.java~60~ 4KB
DBCON.java~20~ 2KB
JTableAppFrame.java~70~ 10KB
DBCON.java~25~ 2KB
JTableAppFrame.java~127~ 13KB
DBCON.java~24~ 2KB
DBCon.java~57~ 4KB
JTableAppFrame.java~71~ 10KB
JTableAppFrame.java~69~ 10KB
JTableAppFrame.java~65~ 10KB
DBCon.java~58~ 4KB
JTableTest.jpx.local 1KB
src
jtabletest
JTableAppClass.java 2KB
Student.java 578B
DBCon.java 4KB
JTableAppFrame.java 10KB
classes
package cache
jtabletest.dep2 11KB
jtabletest
JTableAppFrame_btn_update_actionAdapter.class 726B
JTableAppClass.class 1KB
JTableAppFrame_btn_del_actionAdapter.class 717B
Student.class 909B
JTableAppClass$1.class 813B
DBCon.class 5KB
JTableAppFrame_btn_reset_actionAdapter.class 723B
JTableAppFrame_btn_add_actionAdapter.class 717B
JTableAppFrame.class 8KB
JTableTest.jpx 4KB
共 61 条
- 1
小王子TM
- 粉丝: 2
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页