Hallo zusammen,
ich kämpfe gerade mit einer GUI und dem GridBadLayout, dass nicht so will wie ich es will.
Um folgende GUI geht es:
Die zwei Buttons unten sollen in eine Reihe, das gebe ich ja auch per GridBagConstraints so an.
Aber trotzdem sind die immer untereinander. Warum? Was mache ich falsch?
Über schnelle Hilfe würde ich mich freuen!
Vielen Dank für eure Hilfe!
ich kämpfe gerade mit einer GUI und dem GridBadLayout, dass nicht so will wie ich es will.
Um folgende GUI geht es:
Java:
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.WindowEvent;
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeSelectionModel;
/**
*
* @author Dominik Sust
* @creation 01.10.2014 11:50:50
*/
public class Form_Auswahl_New extends JFrame
{
//Schriftarten
private final java.awt.Font font_projektListe = new java.awt.Font( "Tahoma", Font.BOLD, 13 );
private final java.awt.Font font_LabelUeberschrift = new java.awt.Font( "Tahoma", Font.BOLD, 14 );
private final java.awt.Font font_buttons_gross = new java.awt.Font( "Tahoma", Font.BOLD, 18 );
//Komponenten
private javax.swing.JPanel conentPane;
private javax.swing.JButton jButton_Nacharbeit_Korrektur;
private javax.swing.JButton jButton_Nacharbeit_Nacharbeit;
private javax.swing.JLabel jLabel_Schritt1;
private javax.swing.JLabel jLabel_Schritt2;
private javax.swing.JPanel jPanel_Nacharbeit;
private javax.swing.JPanel jPanel_Sonstiges;
private javax.swing.JScrollPane jScrollPane_Projektliste;
private javax.swing.JTree jTree_Projekte;
public Form_Auswahl_New()
{
initComponents();
this.setVisible( true );
}
public static void main( String[] args ) throws Exception
{
// Look and Feel setzen
UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() );
new Form_Auswahl_New();
}
private void initComponents()
{
//Frame allgemein
this.setSize( 650, 736 );
this.setLocationRelativeTo( null );
this.setDefaultCloseOperation( javax.swing.WindowConstants.EXIT_ON_CLOSE );
this.setFocusCycleRoot( false );
this.setResizable( false );
conentPane = new javax.swing.JPanel();
conentPane.setBorder( new EmptyBorder( 5, 5, 5, 5 ) );
this.setContentPane( conentPane );
//Komponenten initialisieren
jPanel_Nacharbeit = new javax.swing.JPanel();
jTree_Projekte = new javax.swing.JTree();
jScrollPane_Projektliste = new javax.swing.JScrollPane( jTree_Projekte );
jButton_Nacharbeit_Nacharbeit = new javax.swing.JButton();
jButton_Nacharbeit_Korrektur = new javax.swing.JButton();
jLabel_Schritt2 = new javax.swing.JLabel();
jLabel_Schritt1 = new javax.swing.JLabel();
jPanel_Sonstiges = new javax.swing.JPanel();
//Panel Projekt auswählen initialisieren
jPanel_Nacharbeit.setBorder( javax.swing.BorderFactory.createTitledBorder( "Projekt auswählen" ) );
jPanel_Nacharbeit.setLayout( new GridBagLayout() );
GridBagConstraints c = new GridBagConstraints();
jPanel_Nacharbeit.setPreferredSize( new Dimension( 370, 660 ) );
this.add( jPanel_Nacharbeit, BorderLayout.WEST );
//Überschrift
c.gridx = 1;
c.gridy = 1;
c.gridwidth = 2;
jLabel_Schritt1.setFont( font_LabelUeberschrift );
jLabel_Schritt1.setText( "1. Schritt: Belegart wählen" );
jPanel_Nacharbeit.add( jLabel_Schritt1, c );
//ProjektListe
jTree_Projekte.setFont( font_projektListe );
jTree_Projekte.getSelectionModel().setSelectionMode( TreeSelectionModel.SINGLE_TREE_SELECTION );
c.gridx = 1;
c.gridy = 2;
c.gridwidth = 2;
jPanel_Nacharbeit.add( jScrollPane_Projektliste, c );
//jTree_Projekte.setModel( projektBaumErstellen() );
//Baum öffnen
for ( int i = 0; i < jTree_Projekte.getRowCount(); i++ )
{
jTree_Projekte.expandRow( i );
}
//Nacharbeit / Korrektur wählen
jLabel_Schritt2.setFont( font_LabelUeberschrift );
jLabel_Schritt2.setText( "2. Schritt: Nacharbeit / Korrektur wählen" );
c.gridx = 1;
c.gridy = 3;
c.gridwidth = 2;
jPanel_Nacharbeit.add( jLabel_Schritt2 );
jButton_Nacharbeit_Nacharbeit.setText( "Nacharbeit..." );
jButton_Nacharbeit_Nacharbeit.setFont( font_buttons_gross );
jButton_Nacharbeit_Nacharbeit.setSize( 170, 31 );
c.gridx = 1;
c.gridy = 4;
c.gridwidth = 1;
jPanel_Nacharbeit.add( jButton_Nacharbeit_Nacharbeit, c );
jButton_Nacharbeit_Korrektur.setText( "Korrektur..." );
jButton_Nacharbeit_Korrektur.setFont( font_buttons_gross );
jButton_Nacharbeit_Korrektur.setSize( 170, 31 );
c.gridx = 2;
c.gridy = 4;
c.gridwidth = 1;
jPanel_Nacharbeit.add( jButton_Nacharbeit_Korrektur, c );
//Panel Sonstiges initialisieren
jPanel_Sonstiges.setBorder( javax.swing.BorderFactory.createTitledBorder( "Sonstiges" ) );
jPanel_Nacharbeit.setLayout( new BoxLayout( jPanel_Nacharbeit, BoxLayout.Y_AXIS ) );
jPanel_Sonstiges.setPreferredSize( new Dimension( 250, 660 ) );
this.add( jPanel_Sonstiges, BorderLayout.EAST );
}
}
Die zwei Buttons unten sollen in eine Reihe, das gebe ich ja auch per GridBagConstraints so an.
Aber trotzdem sind die immer untereinander. Warum? Was mache ich falsch?
Über schnelle Hilfe würde ich mich freuen!
Vielen Dank für eure Hilfe!