/*
功能:在JTable 中完成:查询、修改、添加功能
它的查询功能是如何完成的???
它的修改功能是如何完成的???
1.先把:界面的大致做出来
2.然后,再做后台响应
3.为按钮设置:监听
4.想办法 把对表的操作封装成一个类,
可以完成对表的操作。
要想这样做:则必须:
要使用:JTable 类中的 setModel()方法。
5. 学习JTable类的 setModel()方法的使用。
6.在另一个文件中,写一个类
*/
import javax.swing.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
public class Test3 extends JFrame implements ActionListener
{
//定义一些控件
Jpanel jp1,jp2;
JLabel jl1;
JButton jb1,jb2,jb3,jb4;
JLabel jt;
JScrollPane jsp;
JTextField jtf;
//rowData用来存放行数据
// columName存放列名
Vector rowData,columnName;
//定义操作数据库需要的东西
PreparedStatement ps=null;
Connection ct=null;
ResultSet rs=null;
public static void main(String[] args)
{
Test3 tess=new Test3();
}
public Test3()
{
jp1 =new JPanel();
jtf =new JTextField();
jb1 =new JButton("查询");
// 为按钮添加监听
jb1.addActionListener(this);
jl1 =new JLabel("请输入名字");
jp2 =new JPanel();
jb2=new JButton("添加");
jb2.addActionListener(this);
jb3=new JButton("修改");
jb4=new JButton("删除");
// 把各个按钮加入到jp2
jp2.add(jb2);
jp2.add(jb3);
jp2.add(jb4);
//创建一个数据模型对象
StuModel sm=new StuModel();
//通过一个特殊的JTable的构造函数,创建一个JTable
//如何理解这句话???
jt=new JTable(rowData,columnNames); //当修改为: jt=new JTable(hang,columnNames);时,就报错啦。说明,参数rowData必须是:Vector,且其内部的元素是也是:Vetctor,
//初始化jsp JScrollPane
jsp=new JScrollPane(jt);
//把jsp 放入jframe
this.add(jsp);
this.add(jp1,"North");
this.add(jp2,"South");
this.setSize(400,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public void actionPerformed(ActionEvent argo)
{
// 判断是哪个按钮???
if(arg0.getSource==jb1)
{
System.out.println("用户希望查询");
// 因为把对表的数据封装到StuModel 中,我们就可以比较简单完成查询
String name=this.jtf.getText().trim();
//写一个sql 语句
String sql="select *from stu where name=''+name"
// 构建新的数据模型类,并更新
StuModel sm=new StuModel(sql); //在C语言中,我们,通过定义函数,来实现代码的复用,JAVA我们通过类来完成代码复用。
// 这里调用构造函数,其本身则意味着;要通过构造函数完成一系列动作。
// 更新JTable
jt.setModel(sm);// 如何理解这个语句???
}
//当用户点击添加按钮
else if(arg0.getSource()==jb2)
{
StuAddDialog sa=new StuAddDialog(this,"添加学生",true)// true 的意思是:选择模式状态
// 重新再获得新的数据模型
}
句?,setModel的使用作用是什么??
}
}
功能:在JTable 中完成:查询、修改、添加功能
它的查询功能是如何完成的???
它的修改功能是如何完成的???
1.先把:界面的大致做出来
2.然后,再做后台响应
3.为按钮设置:监听
4.想办法 把对表的操作封装成一个类,
可以完成对表的操作。
要想这样做:则必须:
要使用:JTable 类中的 setModel()方法。
5. 学习JTable类的 setModel()方法的使用。
6.在另一个文件中,写一个类
*/
import javax.swing.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
public class Test3 extends JFrame implements ActionListener
{
//定义一些控件
Jpanel jp1,jp2;
JLabel jl1;
JButton jb1,jb2,jb3,jb4;
JLabel jt;
JScrollPane jsp;
JTextField jtf;
//rowData用来存放行数据
// columName存放列名
Vector rowData,columnName;
//定义操作数据库需要的东西
PreparedStatement ps=null;
Connection ct=null;
ResultSet rs=null;
public static void main(String[] args)
{
Test3 tess=new Test3();
}
public Test3()
{
jp1 =new JPanel();
jtf =new JTextField();
jb1 =new JButton("查询");
// 为按钮添加监听
jb1.addActionListener(this);
jl1 =new JLabel("请输入名字");
jp2 =new JPanel();
jb2=new JButton("添加");
jb2.addActionListener(this);
jb3=new JButton("修改");
jb4=new JButton("删除");
// 把各个按钮加入到jp2
jp2.add(jb2);
jp2.add(jb3);
jp2.add(jb4);
//创建一个数据模型对象
StuModel sm=new StuModel();
//通过一个特殊的JTable的构造函数,创建一个JTable
//如何理解这句话???
jt=new JTable(rowData,columnNames); //当修改为: jt=new JTable(hang,columnNames);时,就报错啦。说明,参数rowData必须是:Vector,且其内部的元素是也是:Vetctor,
//初始化jsp JScrollPane
jsp=new JScrollPane(jt);
//把jsp 放入jframe
this.add(jsp);
this.add(jp1,"North");
this.add(jp2,"South");
this.setSize(400,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public void actionPerformed(ActionEvent argo)
{
// 判断是哪个按钮???
if(arg0.getSource==jb1)
{
System.out.println("用户希望查询");
// 因为把对表的数据封装到StuModel 中,我们就可以比较简单完成查询
String name=this.jtf.getText().trim();
//写一个sql 语句
String sql="select *from stu where name=''+name"
// 构建新的数据模型类,并更新
StuModel sm=new StuModel(sql); //在C语言中,我们,通过定义函数,来实现代码的复用,JAVA我们通过类来完成代码复用。
// 这里调用构造函数,其本身则意味着;要通过构造函数完成一系列动作。
// 更新JTable
jt.setModel(sm);// 如何理解这个语句???
}
//当用户点击添加按钮
else if(arg0.getSource()==jb2)
{
StuAddDialog sa=new StuAddDialog(this,"添加学生",true)// true 的意思是:选择模式状态
// 重新再获得新的数据模型
}
句?,setModel的使用作用是什么??
}
}