求命呀請問怎么取得當前表中MOUSE點擊位置的行和列號我把SUN公司翻個底朝天也沒有找到謝謝了
解决方案 »
- 求助
- 求JAVA 中问号的用法?
- 用for循环写出一个字符串+数字的字符串,怎么做可以实现?
- 高分求教redhat9.0上数据库连接出现的问题 The Network Adapter could not establish the connection !
- JAVA创建文件后怎么指定文件本什么编码?
- getImage(new URL("........"));的问题!!!!!
- 在struts + hibernate设计中如何将action获得的对象集合在网页上表示出来
- 我在一个jtable里更改表的数据可是最后一个单元格更改完就点击保存按钮的问题
- 编一个既是Applet又是Application的程序需要那几个部分啊?谁能给一个例子吗?
- 在applet中如何加入菜单???
- 求助为什么我的背景颜色显示不出来?
- 求助:有关IBM jdk下载,注意,必须用IBM的,不要告诉我用SUN jdk
columnAtPoint(Point point)
public void mousePressed(MouseEvent e) {
Point p = e.getPoint();
int row = jTable.rowAtPoint(p);
int column = jTable.columnAtPoint(p); if (row != -1 && column != -1) {
.....
}
}
});
這種解決方式更好
不需要我們再去做其它動做
你也許不相信,行和列是通過MODEL自動獲得的
你可以在這里加一條打印語讒,你就知道效果了
:
Object[][] cellData =
{ { "DATA", "DATA" }, { "DATA", "DATA" }, { "DATA", "DATA" },
{ "DATA", "DATA" }, { "DATA", "DATA" } };
Object[] cellTitle = { "Title", "Title" };
private JTable jTable1 = new JTable(cellData, cellTitle) { public void setValueAt(Object aValue, int row, int column) { Object origValue = getValueAt(row, column);
jTable1.getValueAt(jTable1.getSelectedRow(),
jTable1.getSelectedColumn()); if (origValue != null && origValue.equals(aValue))
return;
if (aValue != null) {
super.setValueAt(aValue, row, column);
}
}
};
免得您去想該怎么使用
我就不喜歡
我希望別人給的例子至少當前能夠運行
:
package client;
import java.awt.Dimension;
import java.awt.Rectangle;import java.awt.event.ActionEvent;
import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;public class Frame1 extends JFrame {
private JScrollPane jScrollPane1 = new JScrollPane();
Object[][] cellData =
{ { "DATA", "DATA" }, { "DATA", "DATA" }, { "DATA", "DATA" },
{ "DATA", "DATA" }, { "DATA", "DATA" } };
Object[] cellTitle = { "Title", "Title" };
private JTable jTable1 = new JTable(cellData, cellTitle) { public void setValueAt(Object aValue, int row, int column) { Object origValue = getValueAt(row, column);
jTable1.getValueAt(jTable1.getSelectedRow(),
jTable1.getSelectedColumn());
System.out.println("row:"+row+" column:"+column);
if (origValue != null && origValue.equals(aValue))
return;
if (aValue != null) {
super.setValueAt(aValue, row, column);
}
}
}; public Frame1() {
try {
jbInit();
} catch (Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
this.getContentPane().setLayout(null);
this.setSize(new Dimension(400, 300));
jScrollPane1.setBounds(new Rectangle(15, 20, 365, 175));
jScrollPane1.getViewport().add(jTable1, null);
this.getContentPane().add(jScrollPane1, null);
}
public static void main(String[] arg){
new Frame1().setVisible(true);
}
}