hallo 
Ich habe folgendes Problem.. Ich habe 2 Menüs.. Datei(Neu, Öffnen...) und Werbemittel(A, B, C,....)
Wenn man auf Neu oder die Sachen in Datei drück ist kein Ding dann tuen die halt die Aktionen in den general JPanl dem ich in Main Window Aufrufe... Ich will aber dass wenn ich in menü Werbemittel auf A zB klicke dass sich meine Klasse mit dem entsprehenden Layout für Werbemittel A öffen und den bestehenden Layout weggeht.
Codeausschnitte:
Ich habe folgendes Problem.. Ich habe 2 Menüs.. Datei(Neu, Öffnen...) und Werbemittel(A, B, C,....)
Wenn man auf Neu oder die Sachen in Datei drück ist kein Ding dann tuen die halt die Aktionen in den general JPanl dem ich in Main Window Aufrufe... Ich will aber dass wenn ich in menü Werbemittel auf A zB klicke dass sich meine Klasse mit dem entsprehenden Layout für Werbemittel A öffen und den bestehenden Layout weggeht.
Codeausschnitte:
Java:
public class MainWindow extends JFrame {
public MainWindow() {
setJMenuBar(Menu.MenuBar());
setContentPane(Panel.initComponents());
//setContentPane(A.initA());
pack();
setTitle("Layout Tool");
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
MainWindow ex = new MainWindow();
ex.setVisible(true);
}
});
}
}
Java:
public class Menu extends JPanel{
protected static JMenu getMenuFile() {
JMenu file_menu = new JMenu("Datei");
// Untermenue "Neu"
JMenuItem file_menu_new = new JMenuItem("Neu");
file_menu_new.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
........................
file_menu.add(file_menu_new);
file_menu.add(file_menu_open);
file_menu.add(file_menu_save);
file_menu.add(file_menu_save_under);
file_menu.add(file_menu_print);
file_menu.add(file_menu_exit);
return file_menu;
}
protected static JMenu getMenuAdforms() {
JMenu ads_menu = new JMenu("Werbemittel");
// Untermenue "Werbemittel A"
JMenuItem ads_menu_suba = new JMenuItem("A");
ads_menu_suba.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
Panel.initComponents().setVisible(false); //!!!! HIER HACKT's
Panel.initComponents().removeAll(); //!!!! HIER HACKT's
A.initA().setVisible(true); //!!!! HIER HACKT's
}
});
Java:
public class A extends JPanel{
public static JPanel initA(){
ImageIcon image =
.....................................
//Panels erstellen
JPanel jPanel_a = new JPanel();
..................................
/Panel zusammenstellen
GroupLayout jPanelsubaLayout = new GroupLayout(jPanel_a);
jPanel_a.setLayout(jPanelaLayout);
jPanel_a.setBackground(Menu.color_lightgray);
jPanelsubaLayout.setHorizontalGroup(
jPanelsubaLayout.createParallelGroup(GroupLayout.Alignment.LEADING)
....................................
return jPanel_a;
}
}
Zuletzt bearbeitet: