多个JTable与ListSelectionEvent问题

unicorn00 2007-06-18 11:20:50
我的问题就是有多个JTable添加了ListSelectionEvent,但在 valueChanged(ListSelectionEvent e){} 方法中怎么获取事件源呢?
我还弄了个简单的调试例子,请高手指教。。十分感谢
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.event.*;

public class testTable extends JFrame implements ListSelectionListener {
JTable table1,table2;
JPanel p1,p2;
JScrollPane sp1,sp2;

public testTable(){
super();
p1=new JPanel();
p2=new JPanel();
table1=new JTable(5,5);
table2=new JTable(4,4);
table1.setPreferredScrollableViewportSize(new Dimension(360,150));
table2.setPreferredScrollableViewportSize(new Dimension(360,150));
sp1 = new JScrollPane();
sp2 = new JScrollPane();
sp1.getViewport().add(table1);
sp2.getViewport().add(table2);
p1.add(sp1);
p2.add(sp2);
getContentPane().setLayout(new BorderLayout());
getContentPane().add(p1,BorderLayout.SOUTH);
getContentPane().add(p2,BorderLayout.NORTH);

setSize(400,300);
setResizable(false);
setVisible(true);

table1.getSelectionModel().addListSelectionListener(this);
table2.getSelectionModel().addListSelectionListener(this);
}
public void valueChanged(ListSelectionEvent e){

if (e.getValueIsAdjusting()) return;

//JTable tableTemp=(JTable)e.getSource();
System.out.println(e.toString());
if(e.getSource()==table1){
System.out.println("table1");
}else if(e.getSource()==table2){
System.out.println("table2");
}
}
public static void main(String args[]){
new testTable();
}
}
...全文
157 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
unicorn00 2007-06-18
  • 打赏
  • 举报
回复
搞定,谢谢
boby 2007-06-18
  • 打赏
  • 举报
回复
if(e.getSource().equals(table1.getSelectionModel())){
System.out.println("table1");
}else if(e.getSource().equals(table2.getSelectionModel())){
System.out.println("table2");
}

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧