2012-12-10 44 views
1

我得到了一个Main类,另一个类扩展了一个jFrame,它直接包含一个jTable。我有点想停止执行代码,直到发生什么事情(=用户按Enter键)。然后我想从我在其他类MyJFrame中持有的表中选择行的值。至于现在,我想实现这个关于这样的:避免代码被执行,直到监听器被调用?

ArrayList<String[]> result = new ArrayList<String[]>(); 
String[ ] columns = new String[] {"h1", "h2", "h3" }; 

result.add(new String[]{ "some", "test", "values" }); 
result.add(new String[]{ "some", "test", "values" }); 

ArrayListTableModel model = new ArrayListTableModel(result, columns); 

//waiting for enter... 

MyJFrame frame = new MyJFrame(model); 
int row = frame.getActiveRow(); 
selectedData = result.get(row); 

PS:我希望你明白我的问题,我遇到了一些麻烦解释它...

+0

它被称为'Listeners'检查您可以添加到'JTable' –

+0

,听众yeaaah ..我也跟他们解决了这个问题,这个问题仅仅是“等待输入”已后的其他代码得到执行,我有问题,以避免此.. –

+0

@NikolayKuznetsov改变了这个问题。希望现在更清楚。 –

回答

1

..extends一个JFrame ,..我则想从我拿着我的其他类MyJFrame表中选定行的值..

The Use of Multiple JFrames, Good/Bad Practice?这些帧的一个可能应该是一个模式对话框解决眼前问题。该对话框将在打开时“暂停”程序。

有关“等待回复”的示例,请参见this answer

+0

啊,你是我的英雄!我很难解释,但很酷,有人可以帮我反正。我试图在下次希望时发布更好的问题。谢谢你,先生! –

+0

很高兴你把它分类。我怀疑我在看到*“other class MyJFrame”*后知道答案,并且熟悉这个问题。 ;) –

+0

哈!是的,这是另一点..我知道它有点凌乱,只是不知道我在做什么不好的练习。我会说:2问题解决了一次:) –