Halle tutorials.de
nachdem ich Eure Seite schon lange "passiv" nutze, nun mein erstes eigenes Thema.
Hoffe es ist nicht zu primitiv, habe schon tagelang im Internet gelesen, aber keine passende Lösung für mich gefunden.
Ich möchte bzw. habe mit Swing und dem VE eine Anwendung erstellt und habe nun ein Problem mit JMenu. Was muß ich in den ActionListener schreiben um den Inhalt des JPanels zu tauschen.
Der Inhalt, der getauscht werden soll, befindet sich in extra Klassen.
Wie gesagt, das Menü habe ich mit VE "zusammen" geklickt.
Hier meine Klasse Start:
und hier die Klasse Anw1:
Die Klaase Anw2 ist identisch zur Klasse Anw1 (zumindest in diesem Beispiel
).
Beim Klick auf einen der Menüpunkte passiert nichts. Was ist falsch?
Ich befürchte, die Lösung ganz leicht.
Schon mal Danke.
nachdem ich Eure Seite schon lange "passiv" nutze, nun mein erstes eigenes Thema.
Hoffe es ist nicht zu primitiv, habe schon tagelang im Internet gelesen, aber keine passende Lösung für mich gefunden.
Ich möchte bzw. habe mit Swing und dem VE eine Anwendung erstellt und habe nun ein Problem mit JMenu. Was muß ich in den ActionListener schreiben um den Inhalt des JPanels zu tauschen.
Der Inhalt, der getauscht werden soll, befindet sich in extra Klassen.
Wie gesagt, das Menü habe ich mit VE "zusammen" geklickt.
Hier meine Klasse Start:
Code:
package menu;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
public class Start extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JMenuBar jJMenuBar = null;
private JMenu jMenu = null;
private JMenuItem jMenuItem_aus1 = null;
private JMenuItem jMenuItem_aus2 = null;
public Start() {
super();
initialize();
}
private void initialize() {
this.setSize(300, 200);
this.setJMenuBar(getJJMenuBar());
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
}
return jContentPane;
}
private JMenuBar getJJMenuBar() {
if (jJMenuBar == null) {
jJMenuBar = new JMenuBar();
jJMenuBar.add(getJMenu());
}
return jJMenuBar;
}
private JMenu getJMenu() {
if (jMenu == null) {
jMenu = new JMenu();
jMenu.setText("Auswahl");
jMenu.add(getJMenuItem_aus1());
jMenu.add(getJMenuItem_aus2());
}
return jMenu;
}
private JMenuItem getJMenuItem_aus1() {
if (jMenuItem_aus1 == null) {
jMenuItem_aus1 = new JMenuItem();
jMenuItem_aus1.setText("Anw1");
jMenuItem_aus1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
Anw1 anw1 = new Anw1();
anw1.repaint();
}
});
}
return jMenuItem_aus1;
}
private JMenuItem getJMenuItem_aus2() {
if (jMenuItem_aus2 == null) {
jMenuItem_aus2 = new JMenuItem();
jMenuItem_aus2.setText("Anw2");
jMenuItem_aus2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
Anw2 anw2 = new Anw2();
anw2.repaint();
}
});
}
return jMenuItem_aus2;
}
}
und hier die Klasse Anw1:
Code:
package menu;
import java.awt.GridBagLayout;
import javax.swing.JPanel;
import javax.swing.JLabel;
import java.awt.GridBagConstraints;
public class Anw1 extends JPanel {
private static final long serialVersionUID = 1L;
private JLabel jLabel = null;
public Anw1() {
super();
initialize();
}
private void initialize() {
GridBagConstraints gridBagConstraints = new GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
jLabel = new JLabel();
jLabel.setText("Anwendung 1");
this.setSize(300, 200);
this.setLayout(new GridBagLayout());
this.add(jLabel, gridBagConstraints);
}
}
Die Klaase Anw2 ist identisch zur Klasse Anw1 (zumindest in diesem Beispiel

Beim Klick auf einen der Menüpunkte passiert nichts. Was ist falsch?
Ich befürchte, die Lösung ganz leicht.
Schon mal Danke.