需要在JTable1上的鼠标点击事件上更新JTable2和JEditorPane,所有这些都在同一个jframe中

时间:2011-03-31 16:14:39

标签: java swing jtable jframe jeditorpane

我在JFrame中显示2个JTable和一个JEditorPane。两个表都有不同的数据。双击table2我想更新table1和编辑器窗格。我可以更新编辑器窗格但不能更新table1。我尝试为table1添加e.getClickCount()== 2,但它无效。

基本上,当我在Tabel2中单击一行(这是线程编号)时,editorPane和table1应该使用线程详细信息进行更新。看起来像 -

| 3105 | BOUNDARY_CORE_FCS | 20101216 105754399 |输入XATransaction :: getInstance

on doubleClick我能够在editorPane中显示它,但无法在表中更新它。任何帮助将不胜感激。感谢。

下面的代码是table2的addMouseListener -

JTable clsNewJTable = new JTable(new RCGUITableModel(arroData, arroHeaders));//... table2

JTable m_clsJTable = RCGUI.m_clsJTable2;// ... table 1

clsNewJTable.addMouseListener(new MouseAdapter(){    
    public void mouseClicked(MouseEvent e){    
        if (e.getClickCount() == 2){   
            JTable clsNewJTable1 = (JTable)e.getSource(); // gets table 2                   
            int rowIndex = clsNewJTable1.getSelectedRow();  
            int colIndex = clsNewJTable1.getSelectedColumn();  
            clsNewJTable1.getSelectedRows();                    
            Object strCellValue = clsNewJTable1.getValueAt(rowIndex, colIndex);  
            doUpdateThreadsInTextArea(strCellValue); // this displays in the jeditorPane  

            //Should i create the new table1 here?and then update it or adding a new mouselistener to table1 is better?                 
            clsNewJTable1.setVisible(true);  
            }  
        }  
  });  

1 个答案:

答案 0 :(得分:0)

更多代码是必须的。更有趣的是看看你是如何更新组件的。您是否为更改的表格模型触发表格数据更改,例如tablemodel.fireTableDataChanged()?

希望这有帮助,Boro。