我目前正在构建一个应用程序,它有一个JFrame
和一个JDialog
。 JFrame
有JList
名为:
JList lstMainVenuesEvents = new JList();
我试图通过使用:
来获取lstMainVenuesEvents的值 lstMainVenuesEvents.getSelectedIndex();
我可以在我的JFrame
上完全获得价值,但如何将其传递给JDialog
?我想过在我的一个类文件中创建一个setter方法,然后从我的JDialog
文件中获取该值,但是肯定有一个简单的方法吗?是否可以只使用某种方法将数据从JFrame
传递到JDialog
,就像PHP中的POST请求一样?
如果我错过任何重要的事情,请道歉。
更新:这是我的JList和JDialog节目的代码。
JList lstMainVenuesEvents = new JList();
lstMainVenuesEvents
.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
// stop from firing twice
if (e.getValueIsAdjusting()) {
EventModify evtWindow = new EventModify();
evtWindow.setVisible(true);
}
}
});
答案 0 :(得分:2)
我不能确信它是“正确的”但是控制方式的反转通常会减少传递值。
假设lstMainVenuesEvents.getSelectedIndex()
中的特定操作/事件使用了值JDialog
,您可以从ActionListener
设置JFrame
。
// some where in the JFrame
jDialog.setButtonPressed(new ActionListener() {
public void actionPerformed(ActionEvent evt)
{
// lstMainVenuesEvents.getSelectedIndex() is accessible in this block
// put code logic here where
}
});