Hallo,
ich möchte mir eine Gui aus mehreren Teilen zusammenbauen. Die sich je nach Menüauswahl ändern.
So sieht das alles bisher aus.
Es ist halt so gedacht, dass je nachdem welche Datenbank im Menü ausgewählt wird, eine andere Maske auf der GUI erscheinen soll. Nur irgendwo scheint noch die eine oder andere Kleinigkeit zu fehlen.
ich möchte mir eine Gui aus mehreren Teilen zusammenbauen. Die sich je nach Menüauswahl ändern.
So sieht das alles bisher aus.
Code:
package ...;
import ...;
public class MyFrame extends JFrame implements ActionListener {
private String aButton;
private JMenuBar menuBar;
// Eingabemasken basteln
public MyFrame(String panel) {
super("Autopark");
try {
setSize(300, 500);
setLocation(300, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setLayout(new BorderLayout(5, 5));
showMenuBar();
showPanel(panel);}
catch (Exception e) {
e.printStackTrace();
}
}
// Menuebar erzeugen
public void showMenuBar() {
this.menuBar = new JMenuBar();
JMenu db = new JMenu("Datenbanken");
db.setMnemonic('D');
JMenuItem vehicle = new JMenuItem();
vehicle.setText("Fahrzeuge");
vehicle.setMnemonic("F".charAt(0));
vehicle.setAccelerator(javax.swing.KeyStroke.getKeyStroke("alt F"));
vehicle.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
MyFrame g = new MyFrame("Fahrzeug");}
}
);
db.add(vehicle);
JMenuItem clients = new JMenuItem();
clients.setText("Kunden");
clients.setMnemonic("K".charAt(0));
clients.setAccelerator(javax.swing.KeyStroke.getKeyStroke("alt K"));
vehicle.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
MyFrame g = new MyFrame("Kunde");}
}
);
db.add(clients);
JMenuItem test_runs = new JMenuItem();
test_runs.setText("Probefahrten");
test_runs.setMnemonic("P".charAt(0));
test_runs.setAccelerator(javax.swing.KeyStroke.getKeyStroke("alt P"));
// test_runs.addActionListener(this);
db.add(test_runs);
JMenuItem seller = new JMenuItem();
seller.setText("Verkäufer");
seller.setMnemonic("V".charAt(0));
seller.setAccelerator(javax.swing.KeyStroke.getKeyStroke("alt V"));
// seller.addActionListener(this);
db.add(seller);
db.addSeparator();
JMenuItem end = new JMenuItem();
end.setText("Ende");
end.setMnemonic("E".charAt(0));
end.setAccelerator(javax.swing.KeyStroke.getKeyStroke("alt F4"));
db.add(end);
end.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
this.menuBar.add(db);
}
public void showPanel(String jp) {
setDefaultCloseOperation(EXIT_ON_CLOSE);
Container cp = getContentPane();
cp.setLayout(new BorderLayout());
cp.add(this.menuBar, BorderLayout.NORTH);
System.out.println("Unten: " + jp);
if (jp.equals("Kunde")) {
showKundenPanel();
}
else if (jp.equals("Fahrzeug")) {
showFahrzeugPanel();
}
else {
showKundenPanel();
}
pack();
}
public void showKundenPanel() {
Container cp = getContentPane();
cp.add(new FormPanelKunde(), BorderLayout.SOUTH);
}
public void showFahrzeugPanel() {
Container cp = getContentPane();
cp.add(new FormPanelKunde(), BorderLayout.SOUTH);
}
public void actionPerformed(ActionEvent e) {
} }
Es ist halt so gedacht, dass je nachdem welche Datenbank im Menü ausgewählt wird, eine andere Maske auf der GUI erscheinen soll. Nur irgendwo scheint noch die eine oder andere Kleinigkeit zu fehlen.