JTABLE中最得行和列 求命呀請問怎么取得當前表中MOUSE點擊位置的行和列號我把SUN公司翻個底朝天也沒有找到謝謝了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 rowAtPoint(Point point)columnAtPoint(Point point) jTable.addMouseListener(new MouseAdapter() { 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); }} 关于java中的异常机制 需要一个判断字符串中有没有中文的正则表达式 求高手给做个题 请问POI怎么读取word中的自选图形? 怎么对list里的对象按其属性排序? 教科书上面的javabean例子出问题了啊(不像啊) 中间件问题 Java , Installanywhere 在 Redhat 上的中文问题解决方法 求 Jsp + Sql Server 2000 例程 , 谢谢 怎么才能学要JAVA?/ 求助为什么我的背景颜色显示不出来? 求助:有关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);
}
}