0

我创建了一个 jPanel,并在单击按钮时打开了一个新的 jDialog(dlgSegments 是一个打开的 JDialog):

JButton btnAddSegment = new JButton("Add GeoSegment");
btnAddSegment.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        dlgSegments.setVisible(true);
    }
});

然后在打开的jDialog中,我想将“选择”返回给调用这个jDialog的jPanel。

我该如何实施?

这是打开的 jDialog 中的按钮侦听器,seleced 是我要传递给 jPanel 的变量:

addButton.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        GeoSegment selected = lstSegments.getSelectedValue();
        // i want to send back the selected value
    }
});
4

2 回答 2

0

一种可能的解决方案:如果您创建 Dialog,则通过他的构造函数将 DataObject 发送到 Dialog。DataObject 包含您感兴趣的值。

MyDataObject dataObject = new MyDataObject();
MyDialog dialog = new MyDialog(dataObject);

用对话框中的选定值填充 DataObject。

于 2012-11-30T10:52:04.757 回答
0

如果您仍在解决此问题,您的Add按钮可以调用getSelectedIndex()getSelectedIndices()找出选择的内容。然后在这里PropertyChangeEvent播放类似@Hovercraft Full Of Eels 的节目。让你的主面板做听对话。addPropertyChangeListener()

于 2012-11-30T13:25:44.750 回答