Frage

Ich mache ein Schulprojekt und braucht Hilfe bei der Gestaltung, weil es einige funky stuff tut.

ich nur Hilfe bei der Süd-Panel benötigen. Der Süd-Panel ist so etwas wie dies organisiert:

           JRadioButton JLabel1 JLabel2
           JRadioButton JLabel1 JLabel2
    JLabel3--------JTextField----------JButton

Ich habe versucht, die folgenden:

  1. Stellen Sie den Süd-JPanel auf ein Gridlayout mit 3 Reihen
  2. Ein andere JPanel auch mit einem Gridlayout mit drei Zeilen in der ersten Zeile des Gridlayouts hinzugefügt.
  3. Repeat # 2 mit der zweiten und dritten Reihe. Die zweite Reihe hat drei Reihen von 3 Spalten.
  4. hinzugefügt, die Komponenten in den entsprechenden Zeilen / Spalten.

Does formatiert nicht so, wie ich es brauche. Ich habe einige andere Techniken, habe ich versucht, nicht mehr erinnern kann. Irgendwelche Vorschläge? Vielen Dank. Hier ist ein Bild von dem, was der Süden Panel aussehen sollte: http: //www.freeimagehosting. net / image.php? d14a73db5e.jpg

Es beginnt am "Anfang ..."

War es hilfreich?

Lösung

Erstellen Sie eine neue JPanel und verwenden Gruppenlayout dafür.

Like this http://img163.imageshack.us/img163/1403/capturadepantalla201001bo .png

Verwenden von Gruppen Layout können Sie die Komponenten angeben, die in der horizontalen Gruppe und die Komponenten gehen, die in der vertikalen Gruppe gehen.

c1, c2, c3
c4, c5, c6
panel[ c7, c8, c9 ]

Hier ist, wie ich das Bild Layout oben:

    // Layout Horizontal components 
    layout.setHorizontalGroup(
        layout.createSequentialGroup()
        .addGroup( 
            layout.createParallelGroup(GroupLayout.Alignment.LEADING)
            .addComponent( c1 )
            .addComponent( c4 )
        ).addGroup(
            layout.createParallelGroup(GroupLayout.Alignment.LEADING)
                .addComponent( c2 )
                .addComponent( c5)
        ).addGroup(
            layout.createParallelGroup(GroupLayout.Alignment.LEADING)
                .addComponent( c3 )
                .addComponent( c6 )
        )

    );

    // Layout vertical components 
    layout.setVerticalGroup(
        layout.createSequentialGroup()
        .addGroup( 
             layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
             .addComponent( c1 )
             .addComponent( c2 )
             .addComponent( c3 )
         ).addGroup(
             layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                 .addComponent( c4 )
                 .addComponent( c5 )
                 .addComponent( c6 ) 
        )
    );

    southPanel.add( panel ); // the start-end dates
    southPanel.add( bookIt, BorderLayout.SOUTH ); // the enter your name... 

Versuchen Sie es einmal.

Andere Tipps

Was ich für den Süden JPanel tun würde, ist es ein 1x3 Gitter machen, dann fügen Sie die drei Komponenten der ersten Reihe in eine horizontale Box und fügen Sie ihn in das Netz, dann die drei Komponenten der zweiten Reihe in eine andere horizontale Box und füge sie an das Gitter, dann die drei Komponenten der dritten Reihe in ein 3x1 Gitter und fügt es an das Netz. Dann können Sie das genaue Aussehen anpassen Sie für die ersten beiden Linien wollen durch verschiedene Kleber und Strebe Komponenten hinzufügen.

ich die meisten meiner Layouts erreichen, indem JPanels oder Boxen innerhalb anderer mit verschiedenen Layouts setzen. Dies gibt Ihnen recht gute Kontrolle über das, was Sie wollen, und können Sie es ein Stück zu einer Zeit aufzubauen.

Scheint, wie Sie ein Gridlayout mit 3 Spalten wollen würden , nicht 3 Zeilen für die Bodenplatte gibt.

Im Bild bei dem Link enthalten ist, ist das Textfeld breiter als die JLabel oder die Taste. Sie können eine GridBagLayout anstatt versuchen.

Vor kurzem habe ich auf MigLayout stolperte, ich werde versuchen, es in meinem nächsten Uni-Projekt mit und ich würde empfehlen Sie ihm einen Schuss geben auch abkühlen und einfach sieht wirklich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top