下部分。。
-----------------------------------------
private class MoveAction implements ActionListener { public void actionPerformed(ActionEvent e) {
Object object=e.getSource();
try{
boolean b=result.next();
result.last();
int i=result.getRow();
}catch(SQLException ex)
{ }
if((JButton)object==theFirst)
{
try{
if((i>=1)) {result.absolute(1);}
}catch(SQLException ex)
{ }
}
if((JButton)object==theNext)
{
try{
int j=result.getRow();
if(j<=i)
{
result.absolute(i+1);
}
}catch(SQLException ex)
{ }
}
if((JButton)object==theForward)
{
try
{
int j=result.getRow();
if (j>1)
{
result.absolute(j-1);
}
}catch(SQLException ex)
{ }
}
}
int i;
}
////end moveAction private class OperateAction implements ActionListener {
public void actionPerformed(ActionEvent e)
{
Object object=e.getSource();
if((JButton)object==theInsert)
{
if(((JButton)object).getText().equals("insert"))
{
casingID.setText("");
casingID.setEditable(true);
casingName.setText("");
casingName.setEditable(true);
theFirst.setEnabled(false);
theNext.setEnabled(false);
theForward.setEnabled(false);
theChange.setEnabled(false);
((JButton)object).setText("return");
theDelete.setText("cancel");
}
else if(((JButton)object).getText().equals("return"))
{
casingID.setEditable(false);
casingName.setEditable(false);
theFirst.setEnabled(true);
theNext.setEnabled(true);
theForward.setEnabled(true);
theChange.setEnabled(true);
((JButton)object).setText("insert");
theDelete.setText("delete");
try
{ String id=casingID.getText();
String sphone=casingName.getText();
//i have not check the input logic.
result.moveToInsertRow();
result.updateString("name",id);
result.updateString("phone",sphone);
result.insertRow();
result.moveToCurrentRow();
//????
}catch(SQLException ex)
{ //I have omit...
}
}
}
else if((JButton)object==theChange)
{
if(((JButton)object).getText().equals("change"))
{
casingName.setEditable(true);
theFirst.setEnabled(false);
theNext.setEnabled(false);
theForward.setEnabled(false);
theInsert.setEnabled(false);
((JButton)object).setText("return");
theDelete.setText("cancel");
}
else
{
casingID.setEditable(false);
casingName.setEditable(false);
theFirst.setEnabled(true);
theNext.setEnabled(true);
theForward.setEnabled(true);
theInsert.setEnabled(true);
((JButton)object).setText("change");
theDelete.setText("delete");
try
{
String sphone=casingName.getText();
result.updateString("phone",sphone);
result.insertRow();
}catch(SQLException ex)
{ }
}
}
else if((JButton)object==theDelete)
{
if(((JButton)object).getText().equals("delete"))
{
try{
result.deleteRow();
}catch(SQLException ex)
{
System.out.println(ex.toString());
}
}
else
{
casingID.setEditable(false);
casingName.setEditable(false);
theFirst.setEnabled(true);
theNext.setEnabled(true);
theForward.setEnabled(true);
theChange.setEnabled(true);
theInsert.setEnabled(true);
theChange.setText("change");
theInsert.setText("insert");
((JButton)object).setText("delete");
}
}
}
}
private JPanel northpanel;
private JPanel southpanel;
private JScrollPane scrollPane;
private JTextField casingID;
private JTextField casingName;
private JButton theFirst;
private JButton theNext;
private JButton theForward;
private JButton theInsert;
private JButton theChange;
private JButton theDelete;
private ResultSet result;
private ResultSetTableModel model;
private JTable table;
private Connection con;
private Statement stmt;
}
-----------------------------------------
private class MoveAction implements ActionListener { public void actionPerformed(ActionEvent e) {
Object object=e.getSource();
try{
boolean b=result.next();
result.last();
int i=result.getRow();
}catch(SQLException ex)
{ }
if((JButton)object==theFirst)
{
try{
if((i>=1)) {result.absolute(1);}
}catch(SQLException ex)
{ }
}
if((JButton)object==theNext)
{
try{
int j=result.getRow();
if(j<=i)
{
result.absolute(i+1);
}
}catch(SQLException ex)
{ }
}
if((JButton)object==theForward)
{
try
{
int j=result.getRow();
if (j>1)
{
result.absolute(j-1);
}
}catch(SQLException ex)
{ }
}
}
int i;
}
////end moveAction private class OperateAction implements ActionListener {
public void actionPerformed(ActionEvent e)
{
Object object=e.getSource();
if((JButton)object==theInsert)
{
if(((JButton)object).getText().equals("insert"))
{
casingID.setText("");
casingID.setEditable(true);
casingName.setText("");
casingName.setEditable(true);
theFirst.setEnabled(false);
theNext.setEnabled(false);
theForward.setEnabled(false);
theChange.setEnabled(false);
((JButton)object).setText("return");
theDelete.setText("cancel");
}
else if(((JButton)object).getText().equals("return"))
{
casingID.setEditable(false);
casingName.setEditable(false);
theFirst.setEnabled(true);
theNext.setEnabled(true);
theForward.setEnabled(true);
theChange.setEnabled(true);
((JButton)object).setText("insert");
theDelete.setText("delete");
try
{ String id=casingID.getText();
String sphone=casingName.getText();
//i have not check the input logic.
result.moveToInsertRow();
result.updateString("name",id);
result.updateString("phone",sphone);
result.insertRow();
result.moveToCurrentRow();
//????
}catch(SQLException ex)
{ //I have omit...
}
}
}
else if((JButton)object==theChange)
{
if(((JButton)object).getText().equals("change"))
{
casingName.setEditable(true);
theFirst.setEnabled(false);
theNext.setEnabled(false);
theForward.setEnabled(false);
theInsert.setEnabled(false);
((JButton)object).setText("return");
theDelete.setText("cancel");
}
else
{
casingID.setEditable(false);
casingName.setEditable(false);
theFirst.setEnabled(true);
theNext.setEnabled(true);
theForward.setEnabled(true);
theInsert.setEnabled(true);
((JButton)object).setText("change");
theDelete.setText("delete");
try
{
String sphone=casingName.getText();
result.updateString("phone",sphone);
result.insertRow();
}catch(SQLException ex)
{ }
}
}
else if((JButton)object==theDelete)
{
if(((JButton)object).getText().equals("delete"))
{
try{
result.deleteRow();
}catch(SQLException ex)
{
System.out.println(ex.toString());
}
}
else
{
casingID.setEditable(false);
casingName.setEditable(false);
theFirst.setEnabled(true);
theNext.setEnabled(true);
theForward.setEnabled(true);
theChange.setEnabled(true);
theInsert.setEnabled(true);
theChange.setText("change");
theInsert.setText("insert");
((JButton)object).setText("delete");
}
}
}
}
private JPanel northpanel;
private JPanel southpanel;
private JScrollPane scrollPane;
private JTextField casingID;
private JTextField casingName;
private JButton theFirst;
private JButton theNext;
private JButton theForward;
private JButton theInsert;
private JButton theChange;
private JButton theDelete;
private ResultSet result;
private ResultSetTableModel model;
private JTable table;
private Connection con;
private Statement stmt;
}
第二个看不懂你写的什么!!!
然后,你按NEXT按钮,这个被选中行会移动到下一条记录,直到最后一条。
>我在ACCESS下建立了一个名class表文件,DB名MyClass,这个程序本生编译没问题,执行时按return 提交后,JTable数据和ACCESS不能同步,要下次启动程序才看的到上次的结果。你 连接数据库 并填充表格 的部分 是写在了 MyThreeProgram 的构造函数里面
构造函数只会被执行一次
而且 JTable 不会那么聪明的 每次都帮你检查 数据库是否被改动过
所以 如果你的代码中有 更新数据库的内容的话(没有仔细看你的代码)
必须在更新数据库后 重新 连接数据库 并填充表格
建议你把 连接数据库 并填充表格 这一部分写成一个函数 便于调用====================
1>JTABLE 比如说只有(name 和phone)列属性,当我双击JTable中的一行数据时,它这行的值怎么样才可以传到我的输入筐nameTextField and phoneTextField里面来!!!int row = table.getSelectedRow();
nameTextField.setText((String)table.getValueAt(row,0)); //第一列
phoneTextField.setText((String)table.getValueAt(row,1));//第二列====================
>怎么样让JTable里的被选中行(高亮部分)在JTalbe里移动,其实我是想:通过按钮,JTable中被选中行可以跳到下一个。int NextRow = jTable1.getSelectedRow() + 1;
jTable1.setRowSelectionInterval(NextRow, NextRow);