我的做的实例
void jTable1_mouseClicked(MouseEvent e) {
int row = jTable1.getSelectedRow();
Vector alldata = db2model.getTableData();
Vector rowdata = (Vector) alldata.elementAt(row);
jTextField1.setText( (String) rowdata.elementAt(0));
jTextField2.setText( (String) rowdata.elementAt(1));
jTextField3.setText( (String) rowdata.elementAt(3)); }
希望对你有帮助
void jTable1_mouseClicked(MouseEvent e) {
int row = jTable1.getSelectedRow();
Vector alldata = db2model.getTableData();
Vector rowdata = (Vector) alldata.elementAt(row);
jTextField1.setText( (String) rowdata.elementAt(0));
jTextField2.setText( (String) rowdata.elementAt(1));
jTextField3.setText( (String) rowdata.elementAt(3)); }
希望对你有帮助
解决方案 »
- 有2个同名的list会覆盖对方吗
- 如何将一个jar(如comm.jar)加到我的JBuilder2005工程中去,这样我就可以写下如下代码import javax.comm.* 而不出错???
- java写文件时可以指定所有者和权限吗?
- 输出是怪码,为什么
- 当提示有这样的错误信息是什么错误?
- 关于RMI的连接的一个问题,请各位高手指导一下
- 请问在tomcat下面如何配置jdbc连接池?
- 为什么不起作用呢?等了半天了都没人回答,高手都哪去了?
- 高分求救21
- 急急急!在那里可以下载 package org.apache ?
- 从access中取出时间比较,出错?
- 为什么会出现Exception in thread "main" java.lang.NoSuchMethodError: main
1、自定义DefaultCellEditor。并用JTextField构造这个自定义的DefaultCellEditor。这个JTextField可以是类全局变量。
2、为JTextField加入FocusListener即焦点侦听器,在focusGained()方法中加入文本全选处理代码。
如:jtxtEditor.selectAll();
3、调用JTable.setCellEditor()方法把自定义DefaultCellEditor设为当前TableCellEditor。
这样应该可以。
你说的办法只能实现当用户用鼠标单击该Cell时,cell全选文本。但在用户用上下箭头键在Cell中导航时,当前的Cell并不能全选文本。哎,为了挣到楼主的100大分,我苦苦试验了一个晚上(本来准备好好享受一下刚买的《黑客2》呢!),无奈swing搁置已久,就是没有实现成 ,郁闷啊。我想一定不复杂,就是有一个纸窗户没找到(不然一定桶它个西巴烂,然后爽快地大喊出一声)。
要会变通一下。现在你的问题就成如何启动表中单元格进入编辑状态了。
试一下:
首先捕获单元格聚焦事件,然后调用JTable.editCellAt()方法来启动进入编辑状态。
捕获单元格聚焦事件,可以是捕获JTable的焦点事件和鼠标事件来完成。
这样应该可以。
JFrame f = new JFrame();
JTable t = new JTable(new String[][]{{"adf","sdfg"},{"gdf","hfffa"}},new String[]{"c1","c2"});
t.addKeyListener(new KeyAdapter(){ //添加键盘事件,捕捉上下箭头键
public void keyReleased(KeyEvent e){
if(e.getKeyCode() == KeyEvent.VK_DOWN ||
e.getKeyCode() == KeyEvent.VK_UP ||
e.getKeyCode() == KeyEvent.VK_LEFT ||
e.getKeyCode() == KeyEvent.VK_RIGHT) {
JTable t = (JTable)e.getSource();
int row,col;
row = t.getSelectedRow();
col = t.getSelectedColumn();
//下面程序触发开始编辑,然后全选编辑器的文本
t.editCellAt(row,col);
JTextField editor = ((JTextField)t.getCellEditor().getTableCellEditorComponent(t,t.getValueAt(row,col),true,row,col));
editor.selectAll(); }
}
});
f.getContentPane().setLayout(new BorderLayout());
f.getContentPane().add(t,BorderLayout.CENTER);
f.show();
}