Warum wird JButton in Java nicht angezeigt?
Ich programmiere Gerade ein Java Projekt und bin auf das Problem gestoßen das der JButton im secountPanel nicht angezeigt wird.
Das ist mein Code:
package com.testProjekte;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class PrimzahlenRechnerMitGUI {
static JButton backButton = new JButton("Zurück");
public static void main(String[] args) {
loadGUI();
}
public static void loadGUI() {
JFrame mainFrame = new JFrame("Primzahl Rechner");
mainFrame.setResizable(false);
mainFrame.setSize(450,300);
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrame.setLocationRelativeTo(null);
JPanel mainPanel = new JPanel(new GridBagLayout());
JPanel secountPanel = new JPanel(new GridBagLayout());
JPanel thirtPanel = new JPanel(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.insets = new Insets(5, 5, 5, 5);
CardLayout cardLayout = new CardLayout();
JPanel cardPanel = new JPanel(cardLayout);
//main Panel Start
JButton chooseRange = new JButton("Bereich Eingeben");
chooseRange.setPreferredSize(new Dimension(chooseRange.getPreferredSize().width + 20, 30));
gbc.gridx = 0;
gbc.gridy = 0;
gbc.anchor = GridBagConstraints.NORTHWEST;
mainPanel.add(chooseRange, gbc);
JButton chooseNumber = new JButton("Nummer eingeben");
chooseNumber.setPreferredSize(new Dimension(chooseNumber.getPreferredSize().width + 20, 30));
gbc.gridx = 1;
gbc.gridy = 0;
gbc.anchor = GridBagConstraints.EAST;
mainPanel.add(chooseNumber, gbc);
//main Panel end
//secount Panel Start
backButton.setPreferredSize(new Dimension(100, 30));
backButton.setBackground(Color.RED);
JLabel reangeText = new JLabel("Gib einen Bereich ein");
JTextField startRange = new JTextField();
startRange.setPreferredSize(new Dimension(100,30));
JTextField endRange = new JTextField();
endRange.setPreferredSize(new Dimension(100,30));
JButton checkRangeButton = new JButton("Prüfen");
gbc.gridx = 0;
gbc.gridy = 0;
gbc.anchor = GridBagConstraints.NORTHWEST;
gbc.fill = GridBagConstraints.NONE;
secountPanel.add(backButton, gbc);
gbc.gridx = 0;
gbc.gridy = 1;
secountPanel.add(reangeText, gbc);
gbc.gridx = 0;
gbc.gridy = 3;
secountPanel.add(startRange, gbc);
gbc.gridx = 0;
gbc.gridy = 4;
secountPanel.add(endRange, gbc);
gbc.gridx = 0;
gbc.gridy = 5;
secountPanel.add(checkRangeButton, gbc);
//secount Panel end
//thirt Panel start
backButton.setPreferredSize(new Dimension(100, 30));
backButton.setBackground(Color.RED);
JLabel numberText = new JLabel("Gib eine Zahl ein");
JButton checkNumberButton = new JButton("Prüfen");
gbc.gridx = 0;
gbc.gridy = 0;
gbc.anchor = GridBagConstraints.WEST;
thirtPanel.add(backButton, gbc);
thirtPanel.add(numberText);
thirtPanel.add(checkNumberButton);
//thirt Panel end
cardPanel.add(mainPanel, "MainPanel");
cardPanel.add(secountPanel, "SecountPanel");
cardPanel.add(thirtPanel, "ThirtPanel");
chooseRange.addActionListener(e -> cardLayout.show(cardPanel, "SecountPanel"));
chooseNumber.addActionListener(e -> cardLayout.show(cardPanel, "ThirtPanel"));
backButton.addActionListener(e -> cardLayout.show(cardPanel, "MainPanel"));
mainFrame.add(cardPanel);
mainFrame.setVisible(true);
}
}