jtable双击这一行数据时它就会相应的显示在另一个界面中



jtable双击这一行数据时它就会相应的显示在另一个界面中

双击jtable中的某一行数据,
当我双击这一行数据时它就会相应的显示在另一个界面中, 另一个界面中存放的组件为label与text

 

 

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/*
* OpenSalesUnitListDialog.java
*
* Created on 2009-10-22, 13:54:26
*/
package org.htc.salesunit.gui;

import com.cjun.MainView;
import java.util.List;
import javax.swing.table.DefaultTableModel;
import org.htc.salesunit.action.DesSalesUnitAction;
import org.htc.salesunit.bean.DesSalesUnit;
import org.htc.util.MidScr;
import org.htc.util.MyQuery;

/**
*
* @author new
*/
public class OpenSalesUnitListDialog extends javax.swing.JDialog {

MyQuery mq = null;

/** Creates new form OpenSalesUnitListDialog */
public OpenSalesUnitListDialog(java.awt.Frame parent, boolean modal) {
super(parent, “销售单位列表”, modal);
initComponents();
setAutoCenter(true);
mq = new MyQuery();
mq.setPageSize(15);//页面大小,显示的行数
mq.setCurrPage(1);//第一页的数据,当前页是1
List list = new DesSalesUnitAction().queryList(mq);
for (int i = 0; list != null && i < list.size(); i++) {
DesSalesUnit dzt = (DesSalesUnit) list.get(i);
jTable1.setValueAt(dzt.getSalesUnitId(), i, 0);
jTable1.setValueAt(dzt.getSalesUnitName(), i, 1);
jTable1.setValueAt(dzt.getContacter(), i, 2);
jTable1.setValueAt(dzt.getTel(), i, 3);
jTable1.setValueAt(dzt.getEmail(), i, 4);
jTable1.setValueAt(dzt.getAddress(), i, 5);
}

System.out.println(“getCurrPage=” + mq.getCurrPage());
System.out.println(“getFirstPage=” + mq.getFirstPage());
System.out.println(“getLastPage=” + mq.getLastPage());
System.out.println(“getNextPage=” + mq.getNextPage());
System.out.println(“getPageSize=” + mq.getPageSize());
System.out.println(“getPrePage=” + mq.getPrePage());
System.out.println(“getTotalPage=” + mq.getTotalPage());
System.out.println(“getTotalRows=” + mq.getTotalRows());

setShowPage();

}
//窗体自动居中

public void setAutoCenter(boolean autoCenter) {
MidScr mds = new MidScr(this);
if (autoCenter) {
this.setLocation(mds.getX(), mds.getY());
}
}

private void setShowPage() {
StringBuffer sb = new StringBuffer();
sb.append(mq.getCurrPage());
sb.append(“/”);
sb.append(mq.getTotalPage());
sb.append(“页”);
showPageLabel.setText(sb.toString());
}

private void setValue() {
for (int i = 0; i < 15; i++) {
jTable1.setValueAt(“”, i, 0);
jTable1.setValueAt(“”, i, 1);
jTable1.setValueAt(“”, i, 2);
jTable1.setValueAt(“”, i, 3);
jTable1.setValueAt(“”, i, 4);
jTable1.setValueAt(“”, i, 5);
}
List list = new DesSalesUnitAction().queryList(mq);
for (int i = 0; list != null && i < list.size(); i++) {
DesSalesUnit dzt = (DesSalesUnit) list.get(i);
jTable1.setValueAt(dzt.getSalesUnitId(), i, 0);
jTable1.setValueAt(dzt.getSalesUnitName(), i, 1);
jTable1.setValueAt(dzt.getContacter(), i, 2);
jTable1.setValueAt(dzt.getTel(), i, 3);
jTable1.setValueAt(dzt.getEmail(), i, 4);
jTable1.setValueAt(dzt.getAddress(), i, 5);
}
}

/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings(“unchecked”)
// <editor-fold defaultstate=”collapsed” desc=”Generated Code”>
private void initComponents() {

jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
prevButton = new javax.swing.JButton();
nextButton = new javax.swing.JButton();
showPageLabel = new javax.swing.JLabel();
deleteButton = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setName(“Form”); // NOI18N

jScrollPane1.setName(“jScrollPane1″); // NOI18N


jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null}
},
new String [] {
“单位ID”, “单位名称”, “联系人”, “联系电话”, “E-Mail”, “联系地址”
}
) {
boolean[] canEdit = new boolean [] {
false, false, false, false, false, false
};

public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
});
jTable1.setName(“jTable1″); // NOI18N
jTable1.getTableHeader().setReorderingAllowed(false);
jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jTable1MouseClicked(evt);
}
});
jScrollPane1.setViewportView(jTable1);

org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(com.cjun.Main.class).getContext().getResourceMap(OpenSalesUnitListDialog.class);
prevButton.setText(resourceMap.getString(“prevButton.text”)); // NOI18N
prevButton.setName(“prevButton”); // NOI18N
prevButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
prevButtonActionPerformed(evt);
}
});

nextButton.setText(resourceMap.getString(“nextButton.text”)); // NOI18N
nextButton.setName(“nextButton”); // NOI18N
nextButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
nextButtonActionPerformed(evt);
}
});

showPageLabel.setText(resourceMap.getString(“showPageLabel.text”)); // NOI18N
showPageLabel.setName(“showPageLabel”); // NOI18N

deleteButton.setText(resourceMap.getString(“deleteButton.text”)); // NOI18N
deleteButton.setName(“deleteButton”); // NOI18N
deleteButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
deleteButtonActionPerformed(evt);
}
});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 540, Short.MAX_VALUE)
.addContainerGap())
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(deleteButton)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 138, Short.MAX_VALUE)
.addComponent(prevButton)
.addGap(65, 65, 65)
.addComponent(showPageLabel)
.addGap(76, 76, 76)
.addComponent(nextButton)
.addGap(28, 28, 28))))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(21, 21, 21)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 270, Short.MAX_VALUE)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(nextButton)
.addComponent(prevButton)
.addComponent(showPageLabel)
.addComponent(deleteButton))
.addGap(22, 22, 22))
);

pack();
}// </editor-fold>

private void prevButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.out.println(“getCurrPage=” + mq.getCurrPage());
System.out.println(“getFirstPage=” + mq.getFirstPage());
System.out.println(“getLastPage=” + mq.getLastPage());
System.out.println(“getNextPage=” + mq.getNextPage());
System.out.println(“getPageSize=” + mq.getPageSize());
System.out.println(“getPrePage=” + mq.getPrePage());
System.out.println(“getTotalPage=” + mq.getTotalPage());
System.out.println(“getTotalRows=” + mq.getTotalRows());
if (mq.getCurrPage() != 1 && mq.getCurrPage()>0) {
if (mq.getCurrPage() == 1) {//当前页从0开始
mq.setCurrPage(1);
} else {
mq.setCurrPage(mq.getCurrPage() – 1);
}
setShowPage();
this.setValue();
this.pack();
}
}

private void nextButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.out.println(“getCurrPage=” + mq.getCurrPage());
System.out.println(“getFirstPage=” + mq.getFirstPage());
System.out.println(“getLastPage=” + mq.getLastPage());
System.out.println(“getNextPage=” + mq.getNextPage());
System.out.println(“getPageSize=” + mq.getPageSize());
System.out.println(“getPrePage=” + mq.getPrePage());
System.out.println(“getTotalPage=” + mq.getTotalPage());
System.out.println(“getTotalRows=” + mq.getTotalRows());
if (mq.getCurrPage() != mq.getLastPage()) {
if (mq.getCurrPage() == mq.getTotalPage()) {
mq.setCurrPage(mq.getTotalPage());
} else {
mq.setCurrPage(mq.getCurrPage() + 1);
}
setShowPage();
this.setValue();
this.pack();
}
}

private void deleteButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
// 取得用户所选的多行
int selectRows = jTable1.getSelectedRows().length;// 取得用户所选行的行数
DefaultTableModel tableModel = (DefaultTableModel) jTable1.getModel();
if (selectRows > 1) {
int[] selRowIndexs = jTable1.getSelectedRows();// 用户所选行的序列
for (int i = 0; i < selRowIndexs.length; i++) {
// 用tableModel.getValueAt(row, column)取单元格数据
int selRowIndex = selRowIndexs[i];
//selRowIndex = selRowIndex – i;
String cellValue = (String) tableModel.getValueAt(selRowIndex, 0);
System.out.println(“duo=cellValue=” + cellValue);
//数据库删除
DesSalesUnit dat = new DesSalesUnit();
dat.setSalesUnitId(cellValue);
new DesSalesUnitAction().delete(dat);
//更新jTable1
tableModel = (DefaultTableModel) jTable1.getModel();
//tableModel.removeRow(selRowIndex);
}
this.setValue();
}
// 取得用户所选的一行
if (selectRows == 1) {
int selectedRowIndex = jTable1.getSelectedRow(); // 取得用户所选单行
String cellValue = (String) tableModel.getValueAt(selectedRowIndex, 0);
System.out.println(“cellValue=” + cellValue);
//数据库删除
DesSalesUnit dat = new DesSalesUnit();
dat.setSalesUnitId(cellValue);
new DesSalesUnitAction().delete(dat);
//更新jTable1
System.out.println(“selectedRowIndex=” + selectedRowIndex);
//tableModel.removeRow(selectedRowIndex);
this.setValue();
}

}
//双击jtable中的某一行数据,显示在另一个界面中
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
int row = jTable1.getSelectedRow();//返回选择的行的索引
String suid = (String) jTable1.getValueAt(row, 0);//返回选中的第X列的信息
System.out.println(“row=” + row + “=suid” + suid);
if (evt.getClickCount() == 2) {
System.out.println(“Doublc Clicked!”);
UpdateSalesUnitDialog usud = new UpdateSalesUnitDialog(MainView.mainFrame, true,suid);
this.setVisible(false);//
usud.setVisible(true);
}
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {
OpenSalesUnitListDialog dialog = new OpenSalesUnitListDialog(new javax.swing.JFrame(), true);
dialog.addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent e) {
System.exit(0);
}
});
dialog.setVisible(true);
}
});
}

// Variables declaration – do not modify
private javax.swing.JButton deleteButton;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
private javax.swing.JButton nextButton;
private javax.swing.JButton prevButton;
private javax.swing.JLabel showPageLabel;
// End of variables declaration
}

 

当我双击这一行数据时它就会相应的显示在另一个界面中, 另一个界面中存放的组件为label与text
为JTable加一个事件就可以了。
比如你的JTable的变量名是table,则table.addMouseListener(xx);
然后实现mouseClicked方法。
部分代码:
public void mouseClicked(java.awt.event.MouseEvent evt)
{
int row=table.getSelectedRow();//返回选择的行的索引
String message1=table.getValueAt(row,0);//返回选中的第X列的信息
String message2=table.getValueAt(row,1);
.