我创建了一个jPanel,当我点击按钮时打开一个新的jDialog(dlgSegments是一个打开的JDialog):
JButton btnAddSegment = new JButton("Add GeoSegment");
btnAddSegment.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dlgSegments.setVisible(true);
}
});
然后在打开的jDialog中,我想将“selected”返回给调用此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
}
});
答案 0 :(得分:0)
一种可能的解决方案:如果创建Dialog,则通过其构造函数将DataObject发送到Dialog。 DataObject包含您感兴趣的值。
MyDataObject dataObject = new MyDataObject();
MyDialog dialog = new MyDialog(dataObject);
使用对话框中的选定值填充DataObject。
答案 1 :(得分:0)
如果您仍在使用this problem,则添加按钮可以拨打getSelectedIndex()
或getSelectedIndices()
来查找所选内容。然后点燃PropertyChangeEvent
像@Hovercraft Full Of Eels节目here。让主面板执行addPropertyChangeListener()
来收听对话框。