将JList值从JFrame传递到JDialog

时间:2013-01-29 02:13:39

标签: java swing jframe jdialog

我目前正在构建一个应用程序,它有一个JFrame和一个JDialogJFrameJList名为:

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);
                    }
                }
            });

1 个答案:

答案 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
    }
});