Im Fenster bleiben (swing)

Permafrost

Mitglied
hallöchen,

ich hab bei diesem code soweit alles in ordnung nur möchte ich bei dem button kein neues fenster aufmachen sonder es soll da drinnen bleiben.
nähmen wir an ich drücke erstellen.
dann müsste das als swing dann dastehen im selben fenster:
Java:
private static Animal createAnimal() {
        boolean bStatus;

        try {
            Animal oSelected = null;
            boolean bExit2 = false;


            do {
                // Ausgabe
                System.out.println("\nBitte suchen Sie sich ein Tier aus :");
                System.out.println("Katze         \t<k>");
                System.out.println("Hund          \t<h>");
                System.out.println("Maus          \t<m>");
                System.out.println("Neues Tier    \t<n>");
                System.out.println("Zurück        \t<z>");


                // Eingabe
                Scanner oScanner = new Scanner(System.in);
                char chInput = oScanner.next().charAt(0);   // gibt char zurück

                switch (chInput) {
                    case 'n':
                        System.out.println("Geben Sie den Tiernamen ein: ");
                        String Name = oScanner.next();
                        oSelected = new AnyAnimal(Name);
                        moZoo.add(oSelected);
                        break;
                    case 'k':
                        oSelected = new Cat();
                        moZoo.add(oSelected);
                        break;
                    case 'h':
                        oSelected = new Dog();
                        moZoo.add(oSelected);
                        break;
                    case 'm':
                        oSelected = new Mouse();
                        moZoo.add(oSelected);
                        break;
                    case 'z':
                        bExit2 = true;
                        break;
                    default:
                        System.err.println("Sie haben einen falschen Buchstaben eingegeben.");
                }
            } while (oSelected == null && !bExit2);
            //Ausgabe Nickname
            System.out.println("\nBitte geben Sie den Spitznamen des Tieres ein.");
            Scanner oScanner = new Scanner(System.in);
            oSelected.setNickname(oScanner.next());
            System.out.println("\nBitte geben Sie das Datum in tt.mm.jjjj");

            bStatus = true;
            while (bStatus) {

                //Ausgabe Datum

                Birthday oDate = new Birthday();


                if (!oDate.checkSyntax(oScanner.next())) {
                    System.err.println("Bitte geben Sie erneut das Datum ein!");
                    continue;
                }
                oSelected.setBd(oDate);
                bStatus = false;
            }


            return oSelected;
        } catch (Exception oExc) // erstelle Exception Objekt
        {
            System.err.println("Falsches Format!"); // gebe Ausnahme aus (Objekt)
            return null;
        }
    }

mein Gui

Java:
package animalgui;
import java.awt.*;
import static java.awt.GridBagConstraints.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class GridBagLayoutcheck extends JPanel {

    
    private int gridx, gridy, gridwidth, gridheight, fill, anchor, ipadx, ipady;
    private double weightx, weighty;
    private Insets insets;
    private Component component1;
    private JButton component2, component3, component4, component5, component6;

    public GridBagLayoutcheck() {
        setLayout(new GridBagLayout());
        example();
    }

    
    private void example() {
        component1 = new JLabel("Willkommen ");
        component1.setFont( new Font( "Comic Sans MS", Font.HANGING_BASELINE, 25 ));
        component2 = new JButton("                Erstellen                 ");
        component2.setFont( new Font( "Comic Sans MS", Font.HANGING_BASELINE, 15 ));
        component2.addActionListener(new buttonAction());
        component3 = new JButton("                Ansehen                 ");
        component3.setFont( new Font( "Comic Sans MS", Font.HANGING_BASELINE, 15 ));
        component3.addActionListener(new buttonAction());
        component4 = new JButton("                  Laden                    ");
        component4.setFont( new Font( "Comic Sans MS", Font.HANGING_BASELINE, 15 ));
        component4.addActionListener(new buttonAction());
        component5 = new JButton("               Speichern                ");
        component5.setFont( new Font( "Comic Sans MS", Font.HANGING_BASELINE, 15 ));
        component5.addActionListener(new buttonAction());
        component6 = new JButton("                  Öffnen                   ");
        component6.setFont( new Font( "Comic Sans MS", Font.HANGING_BASELINE, 15 ));
        component6.addActionListener(new buttonAction());

        addGB(component1,
                gridx = 1, gridy = 2,weightx = 1.0, weighty = 0.0,
                anchor = PAGE_END, insets = new Insets(0, 150, 450, 150));
        addGB(component2,
                gridx = 1, gridy = 2,weightx = 1.0, weighty = 0.0,
                anchor = PAGE_END, insets = new Insets(0, 150, 350, 150));
        addGB(component3,
                gridx = 1, gridy = 2,weightx = 1.0, weighty = 0.0,
                anchor = PAGE_END, insets = new Insets(0, 150, 290, 150));
        addGB(component4,
                gridx = 1, gridy = 2,weightx = 1.0, weighty = 0.0,
                anchor = PAGE_END, insets = new Insets(0, 150, 230, 150));
        addGB(component5,
                gridx = 1, gridy = 2,weightx = 1.0, weighty = 0.0,
                anchor = PAGE_END, insets = new Insets(0, 150, 170, 150));
        addGB(component6,
                gridx = 1, gridy = 2,weightx = 1.0, weighty = 0.0,
                anchor = PAGE_END, insets = new Insets(0, 150, 110, 150));

    }

    private void addGB(Component component1, int gridx, int gridy, double weightx, double weighty, int anchor, Insets insets) {
        addGB(component1, gridx, gridy, 1, 1, NONE, weightx, weighty, anchor, insets, 0, 0);
    }

    private void addGB(Component component, int gridx, int gridy, int gridwidth, int gridheight,
            int fill, double weightx, double weighty, int anchor, Insets insets,
            int ipadx, int ipady) {
        GridBagConstraints constraints = new GridBagConstraints();
        constraints.gridx = gridx;
        constraints.gridy = gridy;
        constraints.gridwidth = gridwidth;
        constraints.gridheight = gridheight;
        constraints.fill = fill;
        constraints.weightx = weightx;
        constraints.weighty = weighty;
        constraints.anchor = anchor;
        constraints.insets = insets;
        constraints.ipadx = ipadx;
        constraints.ipady = ipady;
        
        add(component, constraints);
    }

    private class buttonAction implements ActionListener {

        public void actionPerformed(ActionEvent e) {
            if (e.getSource() == component2){
            JOptionPane.showMessageDialog(null, "Das ist der Bereich zum Erstellen","Erstellen", 1);
            }
            if (e.getSource() == component3){
            JOptionPane.showMessageDialog(null, "Ansehen") ;
            }
            if (e.getSource() == component4){
            JOptionPane.showMessageDialog(null, "Laden");
            }
            if (e.getSource() == component5){
            JOptionPane.showMessageDialog(null, "Speichern");
            }
            if (e.getSource() == component6){
            JOptionPane.showMessageDialog(null, "Öffnen");
            }
        }

    }

}

danke fürs lesen und für eure hilfe^^
 

HimBromBeere

Top Contributor
versuch mal eine JOptionBox oder wie die Dinger heißen (die mit dem weißen Kreis, von denen du eins auswälen kannst).

EDIT: RadioButton hab ich grade gesehn... die kommen dann in eine ButtonGroup.
 
Zuletzt bearbeitet:

Permafrost

Mitglied
hach is auch nicht das was ich suche wirklich.
es sollte so aussehen
Code:
suchen sie sich was aus
button a
button b
button c
wenn a gedrückt wurde soll im selben fenster es so aussehen
Code:
welches tier möchten sie haben
button katze 
button maus
und so weiter ist das einfacher zu verstehen lg?
 

eRaaaa

Top Contributor
Lies dir doch mal die Seite durch und schaue dir das Beispiel an(das muss nicht mit einer Combobox gemacht werden, es geht ums Prinzip!)
Und jetzt sage nicht wieder "das sieht aber anders aus" :) Darum geht`s nämlich nicht!
 

catdriver

Mitglied
bleibt es dann alles in einem fenster?
und wenn ich da button drücke geht da nicht dann ein neues fenster wieder auf?

So ein Problem hatte ich auch schon mal, eigentlich gibt's bestimmt bessere Wege, aber ich habs so gelöst, dass beim Anklicken eines Buttons das alte Fenster schließt und das neue an der gleichen Stelle öffnet. Und das geht so schnell dass der Nutzer es nichts merkt.

Es hört sich blöd an, aber ist mindestens eine Lösung....:(
 

Bonsai

Bekanntes Mitglied
ich glaub das was du suchst sieht in etwa so aus:
Java:
deinFrame.setContentPane (deinNeuesPanel);

hab mir deinen code jetzt nicht angeschaut, von daher weiß ich nich ob du deine jeweilige Frage mit den dazugehörigen Buttons auf ein Panel gemacht hast. wenn nich dann mach dies mal, und wenn doch dann wirds sicherlich gleich klappen :)

Hoffe konnte damit dein Problem lösen

Gruß
Bonsai

Edit:
Und die Form:

Frage
button
button

bekommst mit dem oben beschrieben chardlayout hin, oder du machst das über viele kleine unterpanels :p
z.B.
Java:
panel.add(Button1, BorderLayout.EAST)
wahlweise kannst dir auch mal gridlayout anschauen
 
Zuletzt bearbeitet:

Permafrost

Mitglied
den panel hab ich schon versuche gerade cardlayout zu verstehen-.- was ich mich allerdings frage ist ob man das combinieren kann mit meinem gridbaglayout o_O
 
B

bygones

Gast
den panel hab ich schon versuche gerade cardlayout zu verstehen-.- was ich mich allerdings frage ist ob man das combinieren kann mit meinem gridbaglayout o_O

klar, du kannst in deinem Frame/main panel etc das Cardlayout haben und die einzelnen elemente des Cardlayouts wiederum ihr eigenes Layout, zB GridBagLayout
 

Permafrost

Mitglied
so ich glaube ich habe es fast geschaft aber es ist immer noch ein fehler drinnen den ich einfach nicht finde:(
wenn ihr noch tips habt wie ich es besser machen soll währe ich glücklich


Java:
public class Main 
{
    public static void main(String[] args)
   {
	new CardLayoutcheck(); // Hier ist der fehler er sagt "Neue Instanz ignoriert"
   }
}

Java:
package animalgui;

import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;

/*
 * Hinzufügen von JPanels und JLabels und verwenden
 * eines CardLayouts
 */
class CardLayoutcheck extends JFrame implements ActionListener{

private JButton btnPrev;
private JButton btnNext;
private JButton btnFirst;
private JButton btnLast;
private JButton btn5;

private CardLayout cardLayout;

private JPanel pnlMain;

public void CardLayoutcheck(){
        setTitle("Animal");
	setDefaultCloseOperation(
		JFrame.EXIT_ON_CLOSE);

        getContentPane().setLayout(new BorderLayout());
	//Einfügen von ButtonPanel und ShowPanel
	JPanel pnlButton = new JPanel();
        GridBagLayoutcheck GBPanel = new GridBagLayoutcheck();

        pnlMain = GBPanel.GridBagLayoutcheck1();



	getContentPane().add(
		pnlButton,BorderLayout.SOUTH);

	getContentPane().add(
		 pnlMain,BorderLayout.CENTER);

	/*
	 * Einstellen der Layouts von
	 * pnlButton und pnlMain
	 */
	pnlButton.setLayout(new FlowLayout());

	cardLayout = new CardLayout();
	pnlMain.setLayout(cardLayout);


	//Hinzufügen der Objekte zu den Panels
	btnPrev = new JButton("<");
	btnNext = new JButton(">");
	btnFirst = new JButton("Start");
	btnLast = new JButton("Ende");
	btn5 = new JButton("Mitte");

	pnlButton.add(btnPrev);
	pnlButton.add(btnNext);
	pnlButton.add(btnFirst);
	pnlButton.add(btnLast);
	pnlButton.add(btn5);

	btnPrev.addActionListener(this);
	btnNext.addActionListener(this);
	btnFirst.addActionListener(this);
	btnLast.addActionListener(this);
	btn5.addActionListener(this);

	


	setSize(400,500);
	setLocation(50,50);
	setVisible(true);
}

public void actionPerformed(ActionEvent evt){
	if(evt.getSource().equals(btnNext)){
		cardLayout.next(pnlMain);
	}else if(evt.getSource().equals(btnPrev)){
		cardLayout.previous(pnlMain);
	}else if(evt.getSource().equals(btnFirst)){
		cardLayout.first(pnlMain);
	}else if(evt.getSource().equals(btnLast)){
		cardLayout.last(pnlMain);
	}else{
		cardLayout.show(pnlMain, "5");
	}}}

Java:
package animalgui;
import java.awt.*;
import static java.awt.GridBagConstraints.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class GridBagLayoutcheck {



    
    private int gridx, gridy, gridwidth, gridheight, fill, anchor, ipadx, ipady;
    private double weightx, weighty;
    private Insets insets;
    private Component component1;
    private JButton component2, component3, component4, component5, component6;
    private JPanel GBLcPanel;

    JPanel GridBagLayoutcheck1() {
        GBLcPanel.setLayout(new GridBagLayout());
        example();
        return GBLcPanel;
    }

    
    private void example() {
        component1 = new JLabel("Willkommen ");
        component1.setFont( new Font( "Comic Sans MS", Font.HANGING_BASELINE, 25 ));
        component2 = new JButton("                Erstellen                 ");
        component2.setFont( new Font( "Comic Sans MS", Font.HANGING_BASELINE, 15 ));
        component2.addActionListener(new buttonAction());
        component3 = new JButton("                Ansehen                 ");
        component3.setFont( new Font( "Comic Sans MS", Font.HANGING_BASELINE, 15 ));
        component3.addActionListener(new buttonAction());
        component4 = new JButton("                  Laden                    ");
        component4.setFont( new Font( "Comic Sans MS", Font.HANGING_BASELINE, 15 ));
        component4.addActionListener(new buttonAction());
        component5 = new JButton("               Speichern                ");
        component5.setFont( new Font( "Comic Sans MS", Font.HANGING_BASELINE, 15 ));
        component5.addActionListener(new buttonAction());
        component6 = new JButton("                  Öffnen                   ");
        component6.setFont( new Font( "Comic Sans MS", Font.HANGING_BASELINE, 15 ));
        component6.addActionListener(new buttonAction());

        addGB(component1,
                gridx = 1, gridy = 2,weightx = 1.0, weighty = 0.0,
                anchor = PAGE_END, insets = new Insets(0, 150, 450, 150));
        addGB(component2,
                gridx = 1, gridy = 2,weightx = 1.0, weighty = 0.0,
                anchor = PAGE_END, insets = new Insets(0, 150, 350, 150));
        addGB(component3,
                gridx = 1, gridy = 2,weightx = 1.0, weighty = 0.0,
                anchor = PAGE_END, insets = new Insets(0, 150, 290, 150));
        addGB(component4,
                gridx = 1, gridy = 2,weightx = 1.0, weighty = 0.0,
                anchor = PAGE_END, insets = new Insets(0, 150, 230, 150));
        addGB(component5,
                gridx = 1, gridy = 2,weightx = 1.0, weighty = 0.0,
                anchor = PAGE_END, insets = new Insets(0, 150, 170, 150));
        addGB(component6,
                gridx = 1, gridy = 2,weightx = 1.0, weighty = 0.0,
                anchor = PAGE_END, insets = new Insets(0, 150, 110, 150));

    }

    private void addGB(Component component1, int gridx, int gridy, double weightx, double weighty, int anchor, Insets insets) {
        addGB(component1, gridx, gridy, 1, 1, NONE, weightx, weighty, anchor, insets, 0, 0);
    }

    private void addGB(Component component, int gridx, int gridy, int gridwidth, int gridheight,
            int fill, double weightx, double weighty, int anchor, Insets insets,
            int ipadx, int ipady) {
        GridBagConstraints constraints = new GridBagConstraints();
        constraints.gridx = gridx;
        constraints.gridy = gridy;
        constraints.gridwidth = gridwidth;
        constraints.gridheight = gridheight;
        constraints.fill = fill;
        constraints.weightx = weightx;
        constraints.weighty = weighty;
        constraints.anchor = anchor;
        constraints.insets = insets;
        constraints.ipadx = ipadx;
        constraints.ipady = ipady;
        
        GBLcPanel.add(component, constraints);
    }

    private class buttonAction implements ActionListener {

        public void actionPerformed(ActionEvent e) {
            if (e.getSource() == component2){
            JOptionPane.showMessageDialog(null, "Das ist der Bereich zum Erstellen","Erstellen", 1);
            }
            if (e.getSource() == component3){
            JOptionPane.showMessageDialog(null, "Schau dir alles an") ;
            }
            if (e.getSource() == component4){
            JOptionPane.showMessageDialog(null, "Laden");
            }
            if (e.getSource() == component5){
            JOptionPane.showMessageDialog(null, "Speichern");
            }
            if (e.getSource() == component6){
            JOptionPane.showMessageDialog(null, "Öffnen");
            }
        }

    }

}
 
Zuletzt bearbeitet:

Permafrost

Mitglied
so Main hab ich geändert jetzt kommt aber eine NullPointerException-.-
kann mir bitte noch jemand helfen?


Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at animalgui.GridBagLayoutcheck.GridBagLayoutcheck1(GridBagLayoutcheck.java:26)
        at animalgui.CardLayoutcheck.CardLayoutcheck(CardLayoutcheck.java:44)
        at animalgui.Main$1.run(Main.java:39)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641)
        at java.awt.EventQueue.access$000(EventQueue.java:84)
        at java.awt.EventQueue$1.run(EventQueue.java:602)
        at java.awt.EventQueue$1.run(EventQueue.java:600)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:611)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Java:
package animalgui;

import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

public class Main {
public static void main(String[] args){
        
        try {
            UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
            
        } catch (UnsupportedLookAndFeelException ex) {
            ex.printStackTrace();
        } catch (IllegalAccessException ex) {
            ex.printStackTrace();
        } catch (InstantiationException ex) {
            ex.printStackTrace();
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        }
        

        
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                CardLayoutcheck GBPanel = new CardLayoutcheck();
                GBPanel.CardLayoutcheck();
            }
        });
    }
	
}
 

Permafrost

Mitglied
so hab jetzt alles inizalisiert und hab jetzt riesen buttons heißt mein GridBagLayout funktioniert nicht mehr richtig -.-

hier mal meine zwei klassen:
GridBagLayout:
Java:
package animalgui;
import java.awt.*;
import static java.awt.GridBagConstraints.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class GridBagLayoutcheck {

    private int gridx, gridy, gridwidth, gridheight, fill, anchor, ipadx, ipady;
    private double weightx, weighty;
    private Insets insets;
    private Component component1;
    private JButton component2, component3, component4, component5, component6;
    private JPanel GBLcPanel = new JPanel();

    JPanel GridBagLayoutcheck1() {
        GBLcPanel.setLayout(new GridBagLayout());
        example();
        return GBLcPanel;
    }

    
    private void example() {
        component1 = new JLabel("Willkommen ");
        component1.setFont( new Font( "Comic Sans MS", Font.HANGING_BASELINE, 25 ));
        component2 = new JButton("                Erstellen                 ");
        component2.setFont( new Font( "Comic Sans MS", Font.HANGING_BASELINE, 15 ));
        component2.addActionListener(new buttonAction());
        component3 = new JButton("                Ansehen                 ");
        component3.setFont( new Font( "Comic Sans MS", Font.HANGING_BASELINE, 15 ));
        component3.addActionListener(new buttonAction());
        component4 = new JButton("                  Laden                    ");
        component4.setFont( new Font( "Comic Sans MS", Font.HANGING_BASELINE, 15 ));
        component4.addActionListener(new buttonAction());
        component5 = new JButton("               Speichern                ");
        component5.setFont( new Font( "Comic Sans MS", Font.HANGING_BASELINE, 15 ));
        component5.addActionListener(new buttonAction());
        component6 = new JButton("                  Öffnen                   ");
        component6.setFont( new Font( "Comic Sans MS", Font.HANGING_BASELINE, 15 ));
        component6.addActionListener(new buttonAction());

        addGB(component1,
                gridx = 1, gridy = 2,weightx = 1.0, weighty = 0.0,
                anchor = PAGE_END, insets = new Insets(0, 150, 450, 150));
        addGB(component2,
                gridx = 1, gridy = 2,weightx = 1.0, weighty = 0.0,
                anchor = PAGE_END, insets = new Insets(0, 150, 350, 150));
        addGB(component3,
                gridx = 1, gridy = 2,weightx = 1.0, weighty = 0.0,
                anchor = PAGE_END, insets = new Insets(0, 150, 290, 150));
        addGB(component4,
                gridx = 1, gridy = 2,weightx = 1.0, weighty = 0.0,
                anchor = PAGE_END, insets = new Insets(0, 150, 230, 150));
        addGB(component5,
                gridx = 1, gridy = 2,weightx = 1.0, weighty = 0.0,
                anchor = PAGE_END, insets = new Insets(0, 150, 170, 150));
        addGB(component6,
                gridx = 1, gridy = 2,weightx = 1.0, weighty = 0.0,
                anchor = PAGE_END, insets = new Insets(0, 150, 110, 150));

    }

    private void addGB(Component component1, int gridx, int gridy, double weightx, double weighty, int anchor, Insets insets) {
        addGB(component1, gridx, gridy, 1, 1, NONE, weightx, weighty, anchor, insets, 0, 0);
    }

    private void addGB(Component component, int gridx, int gridy, int gridwidth, int gridheight,
            int fill, double weightx, double weighty, int anchor, Insets insets,
            int ipadx, int ipady) {
        GridBagConstraints constraints = new GridBagConstraints();
        constraints.gridx = gridx;
        constraints.gridy = gridy;
        constraints.gridwidth = gridwidth;
        constraints.gridheight = gridheight;
        constraints.fill = fill;
        constraints.weightx = weightx;
        constraints.weighty = weighty;
        constraints.anchor = anchor;
        constraints.insets = insets;
        constraints.ipadx = ipadx;
        constraints.ipady = ipady;
        
        GBLcPanel.add(component, constraints);
    }

    private class buttonAction implements ActionListener {

        public void actionPerformed(ActionEvent e) {
            if (e.getSource() == component2){
            JOptionPane.showMessageDialog(null, "Das ist der Bereich zum Erstellen","Erstellen", 1);
            }
            if (e.getSource() == component3){
            JOptionPane.showMessageDialog(null, "Schau dir alles an") ;
            }
            if (e.getSource() == component4){
            JOptionPane.showMessageDialog(null, "Laden");
            }
            if (e.getSource() == component5){
            JOptionPane.showMessageDialog(null, "Speichern");
            }
            if (e.getSource() == component6){
            JOptionPane.showMessageDialog(null, "Öffnen");
            }
        }

    }

}

CardLayout

Java:
package animalgui;

import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.FlowLayout;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

class CardLayoutcheck extends JFrame implements ActionListener{

private JButton btnPrev;
private JButton btnNext;
private JButton btnFirst;
private JButton btnLast;
private JButton btn5;

private CardLayout cardLayout;
private GridBagLayoutcheck GBPanel = new GridBagLayoutcheck();
private JPanel pnlMain = GBPanel.GridBagLayoutcheck1();
private JPanel pnlButton = new JPanel();

public void CardLayoutcheck(){
        setTitle("Animal");
	setDefaultCloseOperation(
		JFrame.EXIT_ON_CLOSE);

        getContentPane().setLayout(new BorderLayout());
	//Einfügen von ButtonPanel und ShowPanel
	
        GBPanel.GridBagLayoutcheck1().setLayout(new GridBagLayout());

	getContentPane().add(
		pnlButton,BorderLayout.SOUTH);

	getContentPane().add(
		 pnlMain,BorderLayout.CENTER);

	/*
	 * Einstellen der Layouts von
	 * pnlButton und pnlMain
	 */
	pnlButton.setLayout(new FlowLayout());

	cardLayout = new CardLayout();
	pnlMain.setLayout(cardLayout);


//Hier wird für das JPanel pnlMain das CardLayout eingerichtet. Es handelt sich dabei um das JPanel, welches die Textfelder anzeigt. Das CardLayout wird dabei in die globale Variable cardLayout geschrieben, um später noch darauf zugreifen zu können.

	//Hinzufügen der Objekte zu den Panels
	btnPrev = new JButton("<");
	btnNext = new JButton(">");
	btnFirst = new JButton("Start");
	btnLast = new JButton("Ende");
	btn5 = new JButton("Mitte");

	pnlButton.add(btnPrev);
	pnlButton.add(btnNext);
	pnlButton.add(btnFirst);
	pnlButton.add(btnLast);
	pnlButton.add(btn5);

	btnPrev.addActionListener(this);
	btnNext.addActionListener(this);
	btnFirst.addActionListener(this);
	btnLast.addActionListener(this);
	btn5.addActionListener(this);

//Hier werden die einzelnen JButtons erzeugt, mit welchen man die JPanels durchblättern kann. Ihnen werden ActionListener hinzugefügt. ActionListener werden zur Interaktion mit grafischen Elementen benötigt und werden im Abschnitt 3.1.4 näher erläutert. Des Weiteren werden JTextAreas erzeugt, welche in das pnlMain hinzugefügt werden. Diese Stellen später die einzelnen Seiten unseres CardLayouts dar.


	setSize(400,500);
	setLocation(50,50);
	setVisible(true);
}

public void actionPerformed(ActionEvent evt){
	if(evt.getSource().equals(btnNext)){
		cardLayout.next(pnlMain);
	}else if(evt.getSource().equals(btnPrev)){
		cardLayout.previous(pnlMain);
	}else if(evt.getSource().equals(btnFirst)){
		cardLayout.first(pnlMain);
	}else if(evt.getSource().equals(btnLast)){
		cardLayout.last(pnlMain);
	}else{
		cardLayout.show(pnlMain, "5");
	}}
}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Variable von 1. Fenster an 2. Fenster übergeben. Java Basics - Anfänger-Themen 7
javalux123 Keylistener auf andere Fenster Java Basics - Anfänger-Themen 3
T Java FXML selbes Fenster verschiedene Stellen im Programm Java Basics - Anfänger-Themen 5
B Scrollbares Fenster (JScrollPane) mit JPanel scrollt nicht Java Basics - Anfänger-Themen 3
J Überprüfen ob ein Fenster offen ist? Java Basics - Anfänger-Themen 8
T jOptionPane zum schließen von Fenster, wie "Ja" und "Nein" anstatt Yes und No Java Basics - Anfänger-Themen 2
JEP1 Java Dialog Fenster schließen Spiel Java Basics - Anfänger-Themen 0
H Eingabe tätigen bevor Graphics g Fenster öffnet Java Basics - Anfänger-Themen 5
celta_vigo Konsolen-Fenster ist weg Java Basics - Anfänger-Themen 5
Thomathy Interface Wie schließt man ein anderes JFrame Fenster? Java Basics - Anfänger-Themen 6
M PNG als Spieler im Fenster anzeigen Java Basics - Anfänger-Themen 4
S JOptionPane komplett leeres Fenster Java Basics - Anfänger-Themen 4
A Eclipse-Fenster starten statt Konsoleausgabe Java Basics - Anfänger-Themen 2
A Fenster bleibt weiß Java Basics - Anfänger-Themen 7
O Fenster programmieren Java Basics - Anfänger-Themen 2
M JavaFX: Fenster bleibt weiß Java Basics - Anfänger-Themen 3
A Fenster programmieren Java Basics - Anfänger-Themen 1
J JFrame Fenster öffnet sich nicht Java Basics - Anfänger-Themen 7
M aus Fenster anderes Fenster öffnen und wieder umgekehrt Java Basics - Anfänger-Themen 5
J Best Practice DOS Fenster mit Befehlszeile (Lösung) Java Basics - Anfänger-Themen 2
J Fenster wieder unsichtbar machen Java Basics - Anfänger-Themen 2
das_leon Gesamtes Programm in einem Fenster Java Basics - Anfänger-Themen 1
E Knopfdruck neues Fenster öffnen Java Basics - Anfänger-Themen 5
A Fenster mit Button aufrufen Java Basics - Anfänger-Themen 3
D Erste Schritte JPanel verschiebt Fenster via setVisible Java Basics - Anfänger-Themen 5
W Es wird erst gezeichnet, wenn ich das Fenster vergrößere? Java Basics - Anfänger-Themen 20
K Interface Fenster mit 3 ComboBoxen und 1 Button Java Basics - Anfänger-Themen 13
P Erste Schritte durch MenuBar verschiedene Fenster öffnen Java Basics - Anfänger-Themen 2
I Fenster A soll Fenster B schliessen Java Basics - Anfänger-Themen 5
D Java Fenster blockiert ? Java Basics - Anfänger-Themen 5
K Erste Schritte Neues Fenster mit Textinhalt öffnen Java Basics - Anfänger-Themen 6
M Code um per jButton ein neues Fenster zu öffnen Java Basics - Anfänger-Themen 3
A Popup-Fenster Java Basics - Anfänger-Themen 1
L Fenster auf Knopfdruck Java Basics - Anfänger-Themen 3
N Problem mit JOptionPane und Fenster-Fokus Java Basics - Anfänger-Themen 2
J ausgaben von der konsole in das fenster Java Basics - Anfänger-Themen 5
O Finally beim Fenster schliessen Java Basics - Anfänger-Themen 3
F Klassen Zugriff auf Fenster aus versch. Klassen Java Basics - Anfänger-Themen 5
P Eigenes Fenster erstellen Java Basics - Anfänger-Themen 5
M Input/Output Text auf Fenster zeichen Java Basics - Anfänger-Themen 2
T Zu viele Fenster - HILFE! Java Basics - Anfänger-Themen 5
J Extra Fenster (Frame) Java Basics - Anfänger-Themen 20
llabusch Fenster per Button verschieben Java Basics - Anfänger-Themen 5
llabusch Fenster um x Pixel verschieben Java Basics - Anfänger-Themen 4
P Window Builder Reiter im Fenster erstellen Java Basics - Anfänger-Themen 7
S Java Fenster Java Basics - Anfänger-Themen 2
D (zwei) Fenster mit unterschiedlicher Befüllung Java Basics - Anfänger-Themen 11
A JAVA Fenster in ein PDF Konvertieren Java Basics - Anfänger-Themen 1
A Erkennung eines Button im aktiven Fenster Java Basics - Anfänger-Themen 2
B Variable im Fenster anzeigen lassen? Java Basics - Anfänger-Themen 2
S Fenster ist zu groß Java Basics - Anfänger-Themen 8
O GUI: Eigene Fenster "Form"? Java Basics - Anfänger-Themen 13
X JFrame Fenster einzeln schließen Java Basics - Anfänger-Themen 2
E Fehlermeldung und Fenster wird nicht mehr angezeigt Java Basics - Anfänger-Themen 12
I Einlese Abfrage zweier Variablen in einem Fenster Java Basics - Anfänger-Themen 6
F Erste Schritte Aktuelles Fenster durch Event schließen Java Basics - Anfänger-Themen 3
N Java Programm im CMD Fenster öffnen, wie? Java Basics - Anfänger-Themen 17
S Erste Schritte Fenster wechsel im Applet Java Basics - Anfänger-Themen 7
tuttle64 Keine Umlaute im Dos Fenster Java Basics - Anfänger-Themen 12
J Button nimmt das komplette Fenster ein?! Java Basics - Anfänger-Themen 5
M Beim Klicken auf X neues Fenster Java Basics - Anfänger-Themen 4
Athena Schlichtes Fenster mit Windowskomponenten Java Basics - Anfänger-Themen 3
H KeyListener auf ganzes Fenster setzen Java Basics - Anfänger-Themen 14
S Neues Fenster auf Knopfdruck Java Basics - Anfänger-Themen 12
J Button drücken neues Fenster?! Java Basics - Anfänger-Themen 5
A Login Fenster Java Basics - Anfänger-Themen 3
C Button - neues Fenster - Bestellung anzeigen Java Basics - Anfänger-Themen 10
Z GUI-Fenster leeren Java Basics - Anfänger-Themen 5
M Erste Schritte Probleme mit Fenster Schließen Java Basics - Anfänger-Themen 6
J ordentliche Fenster Java Basics - Anfänger-Themen 17
J Problem beim Fenster Java Basics - Anfänger-Themen 4
Z Login Fenster Java Basics - Anfänger-Themen 7
K Aus JFrame-Fenster SuM-Fenster öffnen geht nicht! Java Basics - Anfänger-Themen 8
T Client-Fenster bei Aufruf unvollständig Java Basics - Anfänger-Themen 12
O Größeres Fenster als angegeben?! Java Basics - Anfänger-Themen 2
J Eltern-Fenster ermitteln Java Basics - Anfänger-Themen 2
M Ausklappbares Fenster bei grafischem Taschenrechner Java Basics - Anfänger-Themen 2
V Fenster wird nicht mittig platziert Java Basics - Anfänger-Themen 3
P gui fenster nur einmal aufrufen Java Basics - Anfänger-Themen 5
J Werte ins neue Fenster übertragen Java Basics - Anfänger-Themen 6
S Fenster richtig schließen Java Basics - Anfänger-Themen 8
M Einfacher Fenster-Ablauf Java Basics - Anfänger-Themen 5
M Timer-Thread in Swing öffnet jedes Mal ein neues Fenster Java Basics - Anfänger-Themen 6
J Zweimal im gleichen Paint-Fenster malen Java Basics - Anfänger-Themen 8
SexyPenny90 Wie erstelle ich ein extra Fenster mit einer Meldung Java Basics - Anfänger-Themen 2
S nur neu geöffnetes Fenster schließen Java Basics - Anfänger-Themen 3
J Willkürlich geöffnetes Fenster/Dialog anspielen? Java Basics - Anfänger-Themen 3
M OOP GUI - Fenster vererben? Java Basics - Anfänger-Themen 9
T fenster schliesen und mouse events in einer nicht abstrakten klasse Java Basics - Anfänger-Themen 6
M Erste Schritte Fenster Und VB Funktionen Java Basics - Anfänger-Themen 8
G Scrollbares Fenster bei mehr als 5 Objekten Java Basics - Anfänger-Themen 4
L Fenster winzig klein durch GridBagLayout Java Basics - Anfänger-Themen 3
R Welcher Layout Manager-für so ein Fenster? Java Basics - Anfänger-Themen 5
H Java-Fenster ohne Inhalt Java Basics - Anfänger-Themen 2
T Windows Fenster Schließen Java Basics - Anfänger-Themen 4
E JFrame Fenster bewegen Java Basics - Anfänger-Themen 8
K Swing Fenster jede sec.neuzeichnen Java Basics - Anfänger-Themen 14
E javaw öffnet trotzdem ein DOS Fenster Java Basics - Anfänger-Themen 15
M Output Input im Cmd Fenster Java Basics - Anfänger-Themen 7
M Neues Fenster Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben