MMh ich bin total am verzweifeln die ganze Zeit versuch ich alle Möglichkeiten aus die mir einfallen aber so langsam hab ich echt keine Idee mehr??
Ich finde einfach den Fehler nicht sobald ich den schwarz betonten Code lösche ist CardLayout aktiv und dafür ist die Anordnung total ungenau aktivier ich den schwarzen Code dan nist die Anordung perfekt aber die CardLayout-Funktion ist tot daher poste ich mal den ganzen Code vl weis jemand an was es liegen könnte??
Ich will einfach das meine Cardlayout Funktion in der Toolbar funtz wenn die " Buttons ( < > ) gedrückt werden + das die Anordnung meiner 3 Panels schön sturkturiert bleibt. :
GroupLayout layout = new GroupLayout(fenster.getContentPane());
fenster.getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addComponent(toolBar, GroupLayout.DEFAULT_SIZE, 59, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addGap(108, 108, 108)
.addComponent(linkesPanel, GroupLayout.PREFERRED_SIZE,GroupLayout.DEFAULT_SIZE,GroupLayout.PREFERRED_SIZE)
.addGap(57, 57, 57)
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.TRAILING, false)
.addComponent( tastaturPanel, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(inhaltPanel, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(54, 54, 54))
);
layout.setVerticalGroup(
layout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(toolBar, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE)
.addGap(34, 34, 34)
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addComponent(inhaltPanel, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(linkesPanel, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addGap(21, 21, 21)
.addComponent( tastaturPanel, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(79, 79, 79))
);
//################# Das is der ganze CODE####################################
import javax.swing.Box;
import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JPanel;
import javax.swing.JToolBar;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class testehaltmal implements ActionListener {
private static JFrame fenster;
private JPanel cardsPanel = null;
private enum Actions {
VOR, ZURUECK;
}
private enum Cards {
EINS, ZWEI;
}
private JButton jButton1;
private JButton jButton2;
private JButton jButton3;
private JButton jButton4;
private JButton jButton5;
private JButton jButton51;
private JButton jButton6;
private JButton jButton7;
private JButton jButton8;
private JButton jButton9;
private JButton jButton10;
//private JComboBox cBox;
private JMenu jMenu;
private JMenuBar jMenuBar;
private JPanel linkesPanel;
private JPanel inhaltPanel;
private JPanel tastaturPanel;
private JScrollPane jScrollPane;
private JTextArea textArea;
// private JToolBar toolBar;
public testehaltmal() {
initComponents();
}
private void initComponents() {
JToolBar toolBar = new JToolBar();
toolBar.setPreferredSize(new Dimension(40, 40));
toolBar.setMinimumSize(new Dimension(40,40));
toolBar.setMaximumSize(new Dimension(40,40));
toolBar.setFloatable(false);
toolBar.setRollover(true);
Box box = Box.createHorizontalBox();
box.add(toolBar);
// Erzeuge Buttons für ToolBar
JButton tb1 = new JButton("Start");
JButton tb2 = new JButton("<");
JButton tb3 = new JButton(">");
JButton tb4 = new JButton("keine Funktion");
JButton tb5 = new JButton("keine Funktion");
// Weise Buttons ToolBar zu
toolBar.add(tb1);
toolBar.add(tb2);
toolBar.add(tb3);
toolBar.add(tb4);
toolBar.add(tb5);
fenster.add(toolBar,BorderLayout.NORTH);
cardsPanel = new JPanel();
//####### Hier wir Button gesagt das per Klick sich Layout verändert
tb2.setActionCommand(Actions.ZURUECK.name());
tb2.addActionListener(this);
tb3.setActionCommand(Actions.VOR.name());
tb3.addActionListener(this);
JPanel p0 = new JPanel();
linkesPanel = new JPanel();
inhaltPanel = new JPanel();
jButton1 = new JButton();
jButton2 = new JButton();
jButton3 = new JButton();
jButton4 = new JButton();
jButton5 = new JButton();
jButton6 = new JButton();
jButton7 = new JButton();
jButton8 = new JButton();
jScrollPane = new JScrollPane();
textArea = new JTextArea();
jButton9 = new JButton();
jButton10 = new JButton();
tastaturPanel = new JPanel();
jButton51 = new JButton();
jMenuBar = new JMenuBar();
jMenu = new JMenu();
linkesPanel.setBorder(BorderFactory.createEtchedBorder());
jButton1.setText("b1");
jButton2.setText("b2");
jButton3.setText("b3");
jButton4.setText("b4");
GroupLayout LayoutzuLinkesPanel = new GroupLayout(linkesPanel);
linkesPanel.setLayout(LayoutzuLinkesPanel);
LayoutzuLinkesPanel.setHorizontalGroup(
LayoutzuLinkesPanel.createParallelGroup(GroupLayout.Alignment.LEADING)
.addGroup(LayoutzuLinkesPanel.createSequentialGroup()
.addContainerGap()
.addGroup(LayoutzuLinkesPanel.createParallelGroup(GroupLayout.Alignment.LEADING)
.addGroup(GroupLayout.Alignment.TRAILING,LayoutzuLinkesPanel.createSequentialGroup()
.addComponent(jButton3, GroupLayout.PREFERRED_SIZE, 65, GroupLayout.PREFERRED_SIZE)
.addGap(40, 40, 40)
.addComponent(jButton7, GroupLayout.PREFERRED_SIZE, 65, GroupLayout.PREFERRED_SIZE))
.addGroup(GroupLayout.Alignment.TRAILING, LayoutzuLinkesPanel.createSequentialGroup()
.addComponent(jButton4, GroupLayout.PREFERRED_SIZE, 65, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 41, Short.MAX_VALUE)
.addComponent(jButton8, GroupLayout.PREFERRED_SIZE, 65, GroupLayout.PREFERRED_SIZE))
.addGroup(GroupLayout.Alignment.TRAILING, LayoutzuLinkesPanel.createSequentialGroup()
.addComponent(jButton2, GroupLayout.PREFERRED_SIZE, 65, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 41, Short.MAX_VALUE)
.addComponent(jButton6, GroupLayout.PREFERRED_SIZE, 65, GroupLayout.PREFERRED_SIZE))
.addGroup(GroupLayout.Alignment.TRAILING, LayoutzuLinkesPanel.createSequentialGroup()
.addComponent(jButton1, GroupLayout.PREFERRED_SIZE, 65, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 41, Short.MAX_VALUE)
.addComponent(jButton5,GroupLayout.PREFERRED_SIZE, 65, GroupLayout.PREFERRED_SIZE)))
.addContainerGap())
);
LayoutzuLinkesPanel.setVerticalGroup(
LayoutzuLinkesPanel.createParallelGroup(GroupLayout.Alignment.LEADING)
.addGroup(LayoutzuLinkesPanel.createSequentialGroup()
.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(LayoutzuLinkesPanel.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(jButton5, GroupLayout.PREFERRED_SIZE, 58, GroupLayout.PREFERRED_SIZE)
.addComponent(jButton1, GroupLayout.PREFERRED_SIZE, 58, GroupLayout.PREFERRED_SIZE))
.addGap(20, 20, 20)
.addGroup(LayoutzuLinkesPanel.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(jButton6,GroupLayout.PREFERRED_SIZE, 58, GroupLayout.PREFERRED_SIZE)
.addComponent(jButton2, GroupLayout.PREFERRED_SIZE, 58, GroupLayout.PREFERRED_SIZE))
.addGap(19, 19, 19)
.addGroup(LayoutzuLinkesPanel.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(jButton8, GroupLayout.PREFERRED_SIZE, 58, GroupLayout.PREFERRED_SIZE)
.addComponent(jButton4, GroupLayout.PREFERRED_SIZE, 58,GroupLayout.PREFERRED_SIZE))
.addGap(17, 17, 17)
.addGroup(LayoutzuLinkesPanel.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(jButton7, GroupLayout.PREFERRED_SIZE, 58, GroupLayout.PREFERRED_SIZE)
.addComponent(jButton3, GroupLayout.PREFERRED_SIZE, 58, GroupLayout.PREFERRED_SIZE))
.addContainerGap(175, Short.MAX_VALUE))
);
inhaltPanel.setBorder(BorderFactory.createEtchedBorder());
textArea.setColumns(20);
textArea.setRows(250);
jScrollPane.setViewportView(textArea);
jButton9.setText(">");
jButton10.setText("<");
GroupLayout LayoutzuInhaltPanel = new GroupLayout(inhaltPanel);
inhaltPanel.setLayout(LayoutzuInhaltPanel);
LayoutzuInhaltPanel.setHorizontalGroup(
LayoutzuInhaltPanel.createParallelGroup(GroupLayout.Alignment.LEADING)
.addGroup(LayoutzuInhaltPanel.createSequentialGroup()
.addContainerGap()
.addGroup(LayoutzuInhaltPanel.createParallelGroup(GroupLayout.Alignment.LEADING)
.addGroup(GroupLayout.Alignment.TRAILING, LayoutzuInhaltPanel.createSequentialGroup()
.addComponent(jButton10)
.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton9))
.addComponent(jScrollPane, GroupLayout.DEFAULT_SIZE, 598, Short.MAX_VALUE))
.addContainerGap())
);
LayoutzuInhaltPanel.setVerticalGroup(
LayoutzuInhaltPanel.createParallelGroup(GroupLayout.Alignment.LEADING)
.addGroup(LayoutzuInhaltPanel.createSequentialGroup()
.addComponent(jScrollPane, GroupLayout.PREFERRED_SIZE, 387, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
.addGroup(LayoutzuInhaltPanel.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(jButton9)
.addComponent(jButton10))
.addContainerGap(58, Short.MAX_VALUE))
);
tastaturPanel.setBorder(BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
jButton51.setText("ENTER");
GroupLayout LayoutzuTastaturPanel = new GroupLayout( tastaturPanel);
tastaturPanel.setLayout(LayoutzuTastaturPanel);
LayoutzuTastaturPanel.setHorizontalGroup(
LayoutzuTastaturPanel.createParallelGroup(GroupLayout.Alignment.LEADING)
.addGroup(LayoutzuTastaturPanel.createSequentialGroup()
.addGap(466, 466, 466)
.addComponent(jButton51)
.addContainerGap(89, Short.MAX_VALUE))
);
LayoutzuTastaturPanel.setVerticalGroup(
LayoutzuTastaturPanel.createParallelGroup(GroupLayout.Alignment.LEADING)
.addGroup(LayoutzuTastaturPanel.createSequentialGroup()
.addGap(98, 98, 98)
.addComponent(jButton51)
.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
GroupLayout layout = new GroupLayout(fenster.getContentPane());
fenster.getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addComponent(toolBar, GroupLayout.DEFAULT_SIZE, 59, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addGap(108, 108, 108)
.addComponent(linkesPanel, GroupLayout.PREFERRED_SIZE,GroupLayout.DEFAULT_SIZE,GroupLayout.PREFERRED_SIZE)
.addGap(57, 57, 57)
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.TRAILING, false)
.addComponent( tastaturPanel, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(inhaltPanel, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(54, 54, 54))
);
layout.setVerticalGroup(
layout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(toolBar, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE)
.addGap(34, 34, 34)
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addComponent(inhaltPanel, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(linkesPanel, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addGap(21, 21, 21)
.addComponent( tastaturPanel, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(79, 79, 79))
);
/*
p0.add(linkesPanel);
p0.add(inhaltPanel);
p0.add( tastaturPanel);*/
//
jMenu.setText("Menu");
jMenuBar.add(jMenu);
fenster.setJMenuBar(jMenuBar);
p0.add(linkesPanel);
p0.add(inhaltPanel);
p0.add(tastaturPanel);
// ## Hier das Panel im CardLayout
JPanel p1 = new JPanel();
p1.add(new JLabel("Zweites Panel"));
JButton knopf5 = new JButton("b1");
JButton knopf6 = new JButton("b2");
JButton knopf7 = new JButton("b3");
JButton knopf8 = new JButton("b4");
p1.add(knopf5);
p1.add(knopf6);
p1.add(knopf7);
p1.add(knopf8);
cardsPanel.setLayout(new CardLayout());
cardsPanel.add(p0, Cards.EINS.name());
cardsPanel.add(p1, Cards.ZWEI.name());
fenster.add(cardsPanel, BorderLayout.CENTER);
}
public void panelwechsel() {
CardLayout cl = (CardLayout) (cardsPanel.getLayout());
// // Mit cl.show(cardsPanel,Cards.EINS.name()); wird das gewünschte Panel mit dem Namen EINS angezeigt
cl.show(cardsPanel, Cards.EINS.name());
}
public void panelwechsel2() {
CardLayout cl = (CardLayout) (cardsPanel.getLayout());
// Mit cl.show(cardsPanel,Cards.ZWEI.name()); wird das gewünschte Panel mit dem Namen Zwei angezeigt
cl.show(cardsPanel, Cards.ZWEI.name());
}
public void actionPerformed(ActionEvent ae) {
if (ae.getActionCommand().equals(Actions.ZURUECK.name())) {
panelwechsel();
} else if (ae.getActionCommand().equals(Actions.VOR.name())) {
panelwechsel2();
}
}
//############################ BEENDEN ###########################
public static void beenden()
{
int value = JOptionPane.showConfirmDialog(null,
"Wollen Sie das Programm wirklich beenden?",
null, JOptionPane.YES_NO_OPTION);
if ( value == JOptionPane.YES_OPTION)
{System.exit(0);
}
}
//########################### MAIN METHODE #############################
public static void main ( String [] args)
{
fenster = new JFrame("");
fenster.pack();
testehaltmal meintest = new testehaltmal();
fenster.setVisible(true);
fenster.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
fenster.setSize(1000, 800);
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension d_aufloesung = toolkit.getScreenSize();
fenster.setLocation( d_aufloesung.width / 2 - 500, d_aufloesung.height / 2 - 400 );
fenster.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent evt){
beenden();
}
});
}
}