📄 test1.java~40~
字号:
package test;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
import com.zdsoft.gui.*; //引入本包中的类,因为我们要用到的ASTable类(表格)、ASPanel类(面板)、ASTableView类(图视) 都位于本包中
import com.zdsoft.datacenter.ASDatacenter; //引入本包中的类,因为我们要用到的ASDatacenter类(数据中心,
//用来连接相应数据库及执行各种数据库操作)位于本包中
import com.zdsoft.datastore.ASDatastore; //引入本包中的类,因为我们要用到的ASDatastore类(数据仓库)位于本包中
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class test1
extends ASPanel { //声明创建的页面继承于ASPanel类,这样我们就能对本页面作可视化的设计,
//并且能将本页面显示在系统的相应位置
JPanel jPanel1 = new JPanel();
JPanel jPanel2 = new JPanel();
JPanel jPanel3 = new JPanel();
JLabel jLabel1 = new JLabel();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JButton jButton3 = new JButton();
JScrollPane jScrollPane1 = new JScrollPane();
ASTable jTable1; //注意:(1)定义一个ASTable类的引用,但不能用“new”运算符创建对象;
ASDatastore ds; //定义ASDatastore类的一个引用,用来保存根据条件从数据库中查询出来的结果
//这是本类定义的构造方法,在构造方法中调用了jbInit()方法;
public test1() {
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}
//jbInit()是本页面的初始化方法,所有和页面初始化有关的操作都应该写在本方法中
private void jbInit() throws Exception {
//ASTable中显示相应表数据的步骤:
//(1)创建数据中心对象
ASDatacenter dc = new ASDatacenter();
//(2)连接数据库
dc.connect();
//(3)构造查询语句
String sql = "select * from stu_info";
//(4)调用数据中心对象dc中的retrieve方法,执行查询,得到一个数据结果集(ASDatastore类的一个具体对象)。本数据结果集
//中保存了根据查询条件得到的所有数据.
ds = dc.retrieve(sql);
//(5)构造表格的显示标题.
String[] liab = new String[4];
liab[0] = "学号";
liab[1] = "姓名";
liab[2] = "性别";
liab[3] = "年龄";
//(6)将表格标题设置到结果集。注意:设置表格标题时,字符串数组的长度与相应数据结果集的
//列数应一样。否则程序运行时会报错.
ds.setTitleLable(liab);
//(7)用结果集构造视图
ASTableView tv = new ASTableView(ds);
//(8)用创建好的视图对象构造表格
jTable1 = new ASTable(tv);
//(9)关闭数据库连接
dc.disconnect();
jLabel1.setFont(new java.awt.Font("Serif", 0, 20));
jLabel1.setText("学生信息维护");
jButton1.setFont(new java.awt.Font("Serif", 0, 12));
jButton1.setText("删除");
jButton1.addActionListener(new test1_jButton1_actionAdapter(this));
jButton2.setFont(new java.awt.Font("Serif", 0, 12));
jButton2.setText("修改");
jButton2.addActionListener(new test1_jButton2_actionAdapter(this));
jButton3.setFont(new java.awt.Font("Serif", 0, 12));
jButton3.setText("增加");
jButton3.addActionListener(new test1_jButton3_actionAdapter(this));
jScrollPane1.setPreferredSize(new Dimension(580, 330));
this.setPreferredSize(new Dimension(600, 600));
this.add(jPanel1, BorderLayout.CENTER);
jPanel1.add(jScrollPane1, null);
jScrollPane1.getViewport().add(jTable1, null);
this.add(jPanel2, BorderLayout.SOUTH);
jPanel2.add(jButton3, null);
jPanel2.add(jButton2, null);
jPanel2.add(jButton1, null);
this.add(jPanel3, BorderLayout.NORTH);
jPanel3.add(jLabel1, null);
}
void jButton3_actionPerformed(ActionEvent e) {
mzxxadd md = new mzxxadd(this); //创建mzxxadd类的一个对象,即是创建一个可显示页面,并将本页面(是一个test1类的对象)
//通过mzxxadd类定义的构造方法传给mzxxadd窗体.这样我们就能够在mzxxadd窗体中使用test1
//页面中的各种成员变量和成员方法。
md.show(); //将创建的页面对象显示出来
}
void jButton2_actionPerformed(ActionEvent e) {
int row = jTable1.getSelectedRow();
if (row == -1) {
JOptionPane.showMessageDialog(this, "请选择要修改的数据!", "提示信息",
JOptionPane.ERROR_MESSAGE);
}
else {
// mzxxmod md = new mzxxmod(this);
// md.show();
}
}
void jButton1_actionPerformed(ActionEvent e) {
ASDatacenter dc = null;
int row = jTable1.getSelectedRow();
if (row == -1) {
JOptionPane.showMessageDialog(this, "请选择要删除的数据!", "提示信息",
JOptionPane.ERROR_MESSAGE);
}
else {
// mzxxmod md = new mzxxmod(this);
// md.show();
try {
String i = ds.getItemString(row, "xh");
String sql = "delete stu_info where xh='" + i + "'";
dc = new ASDatacenter();
dc.connect();
String[] message = dc.update(sql);
if (message[0].equals("true")) {
ds.removeRow(row);
jTable1.ASTableRepant();
}
else {
JOptionPane.showMessageDialog(this, "删除数据失败!", "提示信息",
JOptionPane.ERROR_MESSAGE);
}
dc.disconnect();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}
}
class test1_jButton3_actionAdapter
implements java.awt.event.ActionListener {
test1 adaptee;
test1_jButton3_actionAdapter(test1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton3_actionPerformed(e);
}
}
class test1_jButton2_actionAdapter
implements java.awt.event.ActionListener {
test1 adaptee;
test1_jButton2_actionAdapter(test1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton2_actionPerformed(e);
}
}
class test1_jButton1_actionAdapter
implements java.awt.event.ActionListener {
test1 adaptee;
test1_jButton1_actionAdapter(test1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -