1
你好開發人員我使用jframe中的兩個按鈕和一個表 當我點擊一個按鈕時應該生成不同行數的新表,並且在點擊表的行時應該再次顯示沒有行和列 ,當我在另一個按鈕,它應該創建行 的新不新表點擊,而它再次單擊它應該不顯示的行和列沒有表生成運行時和jtable的鼠標點擊事件
我使用下面的代碼爲它。第一次創建表時,它會生成正確的結果,但是當再次創建表時,然後單擊任何行時,它會給出行號和列號-1。和數組索引越界異常的什麼是錯在我的代碼plz幫助
JTable table;
JScrollPane jsp;
Button b1 = new JButton("1");
Button b2 = new JButton("2");
add(b1);
add(b2);
b1.addActionListener (this);
b1.addActionListener (this);
public void actionPerformed(ActionEvent ae) {
int i = 0;
if (ae.getActionCommand().equals("1")) {
i = 1;
}
if (ae.getActionCommand().equals("2")) {
i = 2;
}
String title[] = {""};
Object obj[][] = new Object[i][1];
table = new JTable(obj, title);
jsp = new JScrollPane(table);
add(jsp);
table.addMouseMotionListener(this);
}
public void mouseClicked(MouseEvent me) {
// first time it returns the true result but on new table creation
//i and j are returned -1 .
int i = table.getSelectedRow();
int j = table.getSelectedColumn();
System.out.println("i is" + i);
System.out.println("j is" + j);
}
發生異常的地方在哪一行?用代碼中的註釋表示這一點。另外,考慮在你的問題中添加一些標點符號,段落等。目前,它很難閱讀和理解。 –
1)你將兩個ActionListener添加到b1按鈕2)你正在添加一個MouseMotionListener到你的表中,但只有一個mouseClicked方法3)你每次點擊一個按鈕時都會向容器添加新表而不重新驗證4 )你的代碼甚至工作? – Rempelos
這只是你的代碼的一部分,你應該發佈更多 – Rempelos