Hallo Leute,
ich wollte mal einen kleinen Test wagen und habe folgendes kleines Übungsprogramm geschrieben. Hier möchte ich einige JPanels einfügen, welche bei betätigen verschiedener Buttons jeweils angezeigt werden (setVisible(true/false)).
Soweit so gut, das Programm kompiliert ohne sichtbare Fehler. Jedoch werden die Buttons auf den verschiedenen Panels nicht angezeigt. Ich habe schon einige Varianten versucht. (Initialisierung in der Hauptklasse, im Konstruktor etc.)Bisher hat nichts wirklich geholfen.
Ich habe auch einige Hilfsausgaben verwendet, jedoch werden die korrekt angesteuert. Das Programm läuft nur nicht in die jeweilige actionPerformed Methode.
Kann mir jemand sagen, wo genau mein Fehler liegt?
Schlussendlich sollen mir checkboxes angezeigt werden welche ich auswählen kann und dass mir diese Auswahl nach einem klick auf "ok" wieder auf dem "hauptpanel" angezeigt wird.
Hier mal der Code:
Die Hilfsausgabe sieht folgend aus:
x1
x2
x5
x4
x2_1
x6
Weiß hier zufällig jemand weiter? Dafür wäre ich dankbar
Lg
ich wollte mal einen kleinen Test wagen und habe folgendes kleines Übungsprogramm geschrieben. Hier möchte ich einige JPanels einfügen, welche bei betätigen verschiedener Buttons jeweils angezeigt werden (setVisible(true/false)).
Soweit so gut, das Programm kompiliert ohne sichtbare Fehler. Jedoch werden die Buttons auf den verschiedenen Panels nicht angezeigt. Ich habe schon einige Varianten versucht. (Initialisierung in der Hauptklasse, im Konstruktor etc.)Bisher hat nichts wirklich geholfen.
Ich habe auch einige Hilfsausgaben verwendet, jedoch werden die korrekt angesteuert. Das Programm läuft nur nicht in die jeweilige actionPerformed Methode.
Kann mir jemand sagen, wo genau mein Fehler liegt?
Schlussendlich sollen mir checkboxes angezeigt werden welche ich auswählen kann und dass mir diese Auswahl nach einem klick auf "ok" wieder auf dem "hauptpanel" angezeigt wird.
Hier mal der Code:
Java:
import java.awt.Component;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class McDonaldsWenig extends JFrame {
public JPanel menuepanel;public JPanel burgerpanel;public JPanel gemuesepanel;public JPanel obstpanel;
JButton ok = new JButton("OK"), burgerbutton = new JButton("Burger"),
gemuesebutton = new JButton("Gemuese"), obstbutton = new JButton(
"Obst");
JCheckBox burger = new JCheckBox("Burger"),
pommes = new JCheckBox("Pommes"), bigmac = new JCheckBox("BigMac"),
salat = new JCheckBox("Salat"), gurken = new JCheckBox("Gurke"),
tomaten = new JCheckBox("Tomate"),
banane = new JCheckBox("Banane"), apfel = new JCheckBox("Apfel"),
pfirsich = new JCheckBox("Pfirsich");
JLabel anzeige = new JLabel();
Container c;
public McDonaldsWenig() {
setSize(400, 400);
setLocationRelativeTo(null);
menuepanel=new JPanel();
burgerpanel=new JPanel();
gemuesepanel=new JPanel();
obstpanel=new JPanel();
add(menuepanel);
menuepanel.setLayout(new GridLayout(4, 1));
menuepanel.add(burgerbutton);
menuepanel.add(gemuesebutton);
menuepanel.add(obstbutton);
menuepanel.add(anzeige);
System.out.println("x1");
burgerbutton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
burgerpanel.setVisible(true);
gemuesepanel.setVisible(false);
obstpanel.setVisible(false);
menuepanel.setVisible(false);
}
});
gemuesebutton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
burgerpanel.setVisible(false);
gemuesepanel.setVisible(true);
obstpanel.setVisible(false);
menuepanel.setVisible(false);
}
});
obstbutton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
burgerpanel.setVisible(false);
gemuesepanel.setVisible(false);
obstpanel.setVisible(true);
menuepanel.setVisible(false);
}
});
System.out.println("x2");
burgerpanel.setLayout(new GridLayout(2, 1));
burgerpanel.add(burger);
burgerpanel.add(ok);
System.out.println("x5");
ok.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("x3");
String a="";
if(burger.isSelected())
{
a=a+burger.getText();
}
burgerpanel.setVisible(false);
menuepanel.setVisible(true);
anzeige.setText(""+a);
}
});
gemuesepanel.add(salat);
gemuesepanel.add(ok);
System.out.println("x4");
ok.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("x1_2");
String a="";
if(salat.isSelected())
{
a=a+salat.getText();
}
gemuesepanel.setVisible(false);
menuepanel.setVisible(true);
anzeige.setText(""+a);
}
});
System.out.println("X2_1");
obstpanel.add(apfel);
obstpanel.add(ok);
ok.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("x_3");
String a="";
if(apfel.isSelected())
{
a=a+apfel.getText();
}
obstpanel.setVisible(false);
menuepanel.setVisible(true);
anzeige.setText(""+a);
}
});
System.out.println("x6");
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new McDonaldsWenig();
}
}
Die Hilfsausgabe sieht folgend aus:
x1
x2
x5
x4
x2_1
x6
Weiß hier zufällig jemand weiter? Dafür wäre ich dankbar
Lg
Zuletzt bearbeitet von einem Moderator: