Я просто застрял в приложении. Дело во втором actionListener, я хочу получить объект или, точнее, доступ к методам в моем классе JDialog.
Я создал несколько диалогов, но их не видно. В первом actionListener я добираюсь до них с помощью функции getDialog, которая возвращает JDialog. Так что я могу видеть каждую из них. Второй actionListener, с которым мне нужна помощь, показывает JOptionPane, и если пользователь выбирает YES_OPTION, я хочу запустить свой метод из определенного диалогового окна.
Мне непонятно, я бы попытался исправить свои объяснения, чтобы вы могли это понять.
modifyButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JButton thisButton = (JButton) e.getSource();
JPanel parentPanel = (JPanel) thisButton.getParent();
Container topLevel = parentPanel.getTopLevelAncestor();
MainFrame mainFrame = (MainFrame) topLevel;
mainFrame.getDialog(TABLECOUNTER).setVisible(true);
}
});
abortButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Object[] options = {"Tak", "Nie"};
int userReply = JOptionPane.showOptionDialog(null, "Czy na pewno chcesz anulować rachunek?", "Probujesz anulować rachunek!", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE, null, options, options[0]);
if (userReply == JOptionPane.YES_OPTION) {
JButton thisButton = (JButton) e.getSource();
JPanel parentPanel = (JPanel) thisButton.getParent();
Container topLevel = parentPanel.getTopLevelAncestor();
MainFrame mainFrame = (MainFrame) topLevel;
mainFrame.getDialog(TABLECOUNTER).myMethod(); //here
}
}
});
getDialog
возвращает стандартныйJDialog
? Покажи метод. - person Paul Samsotha   schedule 16.04.2014