Breite/Abstand

Status
Nicht offen für weitere Antworten.
B

bitteAntworten

Gast
Hallo Alleee zusammen

ich hab ein Panel mit zwei Buttons,
Panel ist mit BorderLayout versehen.
die Buttons sind mit FlowLayout nebeneinander gestellt
mit EmptyBorder hab ich die Abstande der Panel erstellt

1) Frage
so jetzt möchte ich die abstände zwischen den beiden Buttons haben.

was für ein Border muss ich benutzen, für die Abstande
wie geht das ???

2) Ich hab ein CheckBox und möchte es in die Länge ziehen.
welche funktion muss ich benutzen

danke :oops:
 

André Uhres

Top Contributor
>ich hab ein Panel mit zwei Buttons,
>Panel ist mit BorderLayout versehen.
>die Buttons sind mit FlowLayout nebeneinander gestellt
>mit EmptyBorder hab ich die Abstande der Panel erstellt

Hast du ein Panel oder mehrere?
Falls es mehrere sind, wie sind sie dann die Panels angeordnet (eventuell verschachtelt?)?


>Ich hab ein CheckBox und möchte es in die Länge ziehen.
>welche funktion muss ich benutzen

Hängt vom Layoutmanager ab. Bei FlowLayout kannst du z.B. mit "setPreferredSize" arbeiten.
 

kleiner_held

Top Contributor
1) Abstaende werden eigentlich nicht mit Borders eingestellt, sondern im LayoutManager. Wenn du schreibst, dass die Buttons mit FlowLayout nebeneinander positioniert sind (ich nheme an sie sind auf enem JPanel, das ein FlowLayout als LayoutManager hat) dann kannst du am FlowLayout mittels setHgap(int) & setVgap(int) die Abstaende einstellen.

2) Wie soll das aussehen? Eine JCheckBox halt ein Icon zum an-/abhaken und eine Label mit dem Text, wenn du es "in die Länge ziehst", soll dann der Abstand zwischen Icon und Text wachsen, das Icon ploetzlich 200 Pixel breit sein oder der Text in der Breite skaliert werden? Bei keiner dieser Varianten kann ich mir jetzt vorstellen, dass es dann optisch noch gut aussieht.
 
B

bitteAntworten

Gast
vielen Danke

die erste antwort hat mir voll kommen weitergeholfen.

aber jetzt hab ich drei Buttons und ich möchte, dass zwei Buttons links nebeneinander stehen, und die dritte Button am rechten Rand.

wie stell ich das ein
 

André Uhres

Top Contributor
Code:
package layout;
/*
 * ButtonPositionDemo.java
 */
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
public class ButtonPositionDemo extends JFrame {
    private JButton jButton1, jButton2, jButton3;
    private JPanel jPanel1;
    private JPanel jPanel2;
    private Border border = BorderFactory.createEmptyBorder(10, 10, 10, 10);
    private Dimension dim = new Dimension(100, 23);
    public ButtonPositionDemo() {
        super("Button Position Demo");
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setSize(600, 200);
        setLocationRelativeTo(null);
        //JComponents erzeugen:
        jPanel1 = new JPanel();
        jPanel2 = new JPanel();
        jButton1 = new JButton("jButton1");
        jButton2 = new JButton("jButton2");
        jButton3 = new JButton("jButton3");
        //Layout:
        jPanel1.setBorder(border);
        jPanel2.setBorder(border);
        jButton1.setPreferredSize(dim);
        jButton2.setPreferredSize(dim);
        jButton3.setPreferredSize(dim);
        jPanel1.add(jButton1);
        jPanel1.add(jButton2);
        getContentPane().add(jPanel1, BorderLayout.WEST);
        jPanel2.add(jButton3);
        getContentPane().add(jPanel2, BorderLayout.EAST);
    }
    public static void main(final String args[]) {new ButtonPositionDemo().setVisible(true);}
}
 

byte

Top Contributor
Beim BorderLayout kannste mit setHgap / setVgap die Abstände zwischen den Components einstellen.
 
B

bitteAntworten

Gast
ich bedanke mich herzlich


das Problem ist dass ich nur ein Panel habe und innerhalb der Panel drei Buttons habe.

hoffentlich hab ich mich gut ausgedrückt.

danke noch mal
 
B

bitteAntworten

Gast
yep mit borderlayout hab ich für den Abstand für den Panel benutzt,
mit flowlayout für die Abstände zwischen den Buttons bestimmt, ##

so jetzt überlege ich mir, wie man zwei Buttons auf die Linke Seite stellen kann und eine Button auf die Rechte steite stellen kann.
 

André Uhres

Top Contributor
bitteAntworten hat gesagt.:
..wie man zwei Buttons auf die Linke Seite stellen kann und eine Button auf die Rechte steite stellen kann.
Versuch's mal mit
Code:
jPanel1.add(Box.createHorizontalGlue());
vor dem rechten Button.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben