Kligham
Gebruiker
- Lid geworden
- 7 jan 2009
- Berichten
- 389
Hallo,
Zoals gezegd in titel. Er moet een JPanel geadd worden op mij JFrame die zich in een andere class bevindt, wanneer er iemand op een bepaal JMenuItem drukt. Alles moet kloppen behalve dat hij mijn variable frame niet herkent. Hoe kan ik dit oplossen?
Zoals gezegd in titel. Er moet een JPanel geadd worden op mij JFrame die zich in een andere class bevindt, wanneer er iemand op een bepaal JMenuItem drukt. Alles moet kloppen behalve dat hij mijn variable frame niet herkent. Hoe kan ik dit oplossen?
Code:
package test;
import java.awt.event.InputEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.KeyStroke;
public class MenuGUI {
private JMenuBar menuBar;
/** Constructs the menu bar. */
public MenuGUI() {
menuBar = new JMenuBar();
JMenu consultatie = new JMenu("Consultatie");
menuBar.add(consultatie);
JMenuItem nieuweClientItem= new JMenuItem("Nieuwe Cliënt");
nieuweClientItem.setAccelerator(KeyStroke.getKeyStroke('C', InputEvent.CTRL_DOWN_MASK));
consultatie.add(nieuweClientItem);
JMenu boekhouding = new JMenu("Boekhouding");
menuBar.add(boekhouding);
nieuweClientItem.addActionListener (
new ActionListener() {
public void actionPerformed(ActionEvent e) {
NieuweClientGUI nieuweClientGUI = new NieuweClientGUI();
[COLOR="Red"]frame.[/COLOR]add(nieuweClientGUI.getPanel());
}
}
);
}
/** Returns the menu bar corresponding to this menu. */
public JMenuBar getMenuBar() {return menuBar;}
}
Code:
package test;
import javax.swing.JFrame;
public class Main{
private static void createAndShowGUI(){
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// construct a Menu object...
MenuGUI menu = new MenuGUI();
// ...and obtain its menu bar
frame.setJMenuBar(menu.getMenuBar());
frame.pack();
frame.setSize(500,500);
frame.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
Laatst bewerkt: