Я сделал для вас демо, проверьте, соответствует ли оно вашим требованиям.
public class JDialogDemo
{
public JDialogDemo()
{
JFrame mainWindow = new JFrame("mainWindow");
mainWindow.setBounds(300, 300, 300, 300);
mainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JDialog dlg = new JDialog(mainWindow, true);
dlg.setBounds(300, 300, 200, 100);
final JComboBox box = new JComboBox(new String[]{"A", "B"});
JButton okBtn = new JButton("Ok");
okBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e)
{
Object item = box.getSelectedItem();
System.out.println(item);
dlg.setVisible(false);
}
});
dlg.getContentPane().setLayout(new BorderLayout());
dlg.getContentPane().add(box, BorderLayout.NORTH);
dlg.getContentPane().add(okBtn, BorderLayout.CENTER);
JButton popupBtn = new JButton("Popup");
popupBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e)
{
dlg.setVisible(true);
}
});
mainWindow.getContentPane().add(popupBtn, BorderLayout.NORTH);
mainWindow.setVisible(true);
}
public static void main(String[] args)
{
new JDialogDemo();
}
}
удачи, веселья.