Я делаю метод, который дает пользователю три варианта и возвращает тот, который они нажимают, прямо сейчас, когда метод работает, я нажимаю один из параметров, и если я нажму кнопку закрытия, он вернет последний щелкнул. Я хочу сделать так, что диалог закрывается при нажатии одной из опцийКак закрыть JDialog через JButtons
public E drawThreeForDecision()
{
ArrayList<E> c = new ArrayList<E>();
Component[] options = new Component[3];
for (int iii = 0; iii < 3; iii++)
{
final int loop = iii;
c.add((E) drawCard());
JButton button = new JButton(new ImageIcon(((GameEntity) c.get(iii)).getEntityImage()));
button.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent arg0)
{
}
});
options[iii] = button;
}
JOptionPane pane = new JOptionPane("Please select a card", JOptionPane.QUESTION_MESSAGE, JOptionPane.YES_NO_OPTION, null, options, options[0]);
JDialog dialog = pane.createDialog(null, "DECISION TIME!");
dialog.setVisible(true);;
if (pane.getValue() instanceof Integer)
return (E) pane.getValue();
return c.get(0);
}
Если кто-нибудь может мне помочь с этим или предложить лучшее решение было бы весьма признателен!
См. [Этот ответ] (http://stackoverflow.com/a/14476214/878469). – predi