Я пытался установить для одного из двух логических значений (Distribution и Zwaluw) значение true, когда выбрана одна из компаний. Очевидно, что это работает так, но как только компания выбрана, она должна сделать видимым другой JMenu.
Это код, который устанавливает логическое значение true
menuItem = new JMenuItem("Bedrijf..");
menu.add(menuItem);
menuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ev) {
Frame frame2 = new JFrame("Kies het juiste programma");
String keuze = (String) JOptionPane.showInputDialog(frame2, "Programma", "Kies het juiste bedrijf",
JOptionPane.QUESTION_MESSAGE, null, bedrijven, bedrijven[0]);
if(keuze.equals(bedrijven[0])) {
Distribution = true;
}
if(keuze.equals(bedrijven[1])) {
Zwaluw = true;
}
}
});
Это код, который должен быть выполнен после выбора компании
menu = new JMenu("Aanmaningen");
menu.setMnemonic(KeyEvent.VK_N);
menu.getAccessibleContext().setAccessibleDescription(
"Debiteuren aanmanen");
menuBar.add(menu);
menu.addSeparator();
ButtonGroup group2 = new ButtonGroup();
if(Distribution) {
rbMenuItem = new JRadioButtonMenuItem("Aanmaningen automatisch verzenden");
rbMenuItem.setSelected(false);
rbMenuItem.setMnemonic(KeyEvent.VK_R);
group2.add(rbMenuItem);
menu.add(rbMenuItem);
rbMenuItem.addActionListener(new ActionListener() {
@SuppressWarnings("static-access")
@Override
public void actionPerformed(ActionEvent arg0) {
chosenComp = true;
f.getContentPane().add(new Main());
f.revalidate();
f.repaint();
Distrscherm obj = new Distrscherm();
obj.plannerJTable();
}
});
}
Очевидно, вы действительно не знаете методов, которые я здесь использую и т. Д., Но я думаю, что это больше похоже на общий вопрос.Итак, что пришло мне в голову:
- цикл while, который всегда верен (но я думаю, что он довольно неудачен, смеется)
- вызывая метод ВНУТРИ первого кода, который выполняетсявторой код (поэтому, когда вызывается кнопка, выполните метод в code2)
- Использование f.revalidate () и .repaint -> не работает
Однако япопробовал 2 и так как меню не является окончательным, я не могу передать его другому методу.Перепробовал несколько вариантов, не показывал пункт меню.
Есть идеи, как это сделать?:)