Я пытаюсь поместить условное выражение в JDialog, которое определяет, отключены ли две кнопки в нем. Мне нужно это также, чтобы закрыть диалог, когда он достигнет этого состояния, чтобы я нашел 2 проблемы. Пример кода:
public static String windowvisitAlert(JButton but, JButton but2, String message1, String message2) throws Exception, Exception {
String n = "";
Object[] options = {but, but2};
Object a = message1;
JOptionPane pane = new JOptionPane(a, JOptionPane.QUESTION_MESSAGE, JOptionPane.YES_NO_OPTION, null, options, options[0]);
JDialog dialog = pane.createDialog(message2);
dialog.setContentPane(pane);
dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
dialog.setSize(new Dimension(450, 10));
dialog.pack();
dialog.setVisible(true);
return n;
}
Это метод, который создает JDialog из опций JPanel. У нас есть 2 кнопки и 2 «сообщения», которые определяют только название диалогового окна.
Я пытался поставить:
if (but.isEnabled()==false && but2.isEnabled()==false) {
dialog.setVisible(false);
}else{
dialog.setVisible(true);}
Также этот метод будет возвращать значение n, поэтому я не знаю, как будет работать условие внутри него.
Где я реализую этот метод:
public void actionPerformed(ActionEvent e) {
final JButton but = new JButton("VISITA");
final JButton but2 = new JButton("RESPONSABLE");
try {
ActionListener actionListener2 = new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
//action performed
}
};
ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
//action performed
}
};
but.addActionListener(actionListener2);
but2.addActionListener(actionListener);
Alerts.windowvisitAlert(but, but2, Gui.getProperties().getProperty("text"), Gui.getProperties().getProperty("text"));
}catch (Exception ex) {
sc.functionSavingInLog(Utils.getClassInfo(Thread.currentThread().getStackTrace()[1]), ex.toString());
System.out.println(Utils.getClassInfo(Thread.currentThread().getStackTrace()[1]) + ex);
}
}
Это на самом деле не работает, поэтому мой вопрос:
-Как я могу заставить это условие работать и заставить JDialog закрываться, когда оно срабатывает?
Если нет, то как я могу изменить метод или просто сделать jpanel?