Die größe eines JButton ändern

seux

Aktives Mitglied
Hallo zusammen,
zuallererst, ich habe die Suchfunktion schon verwendet, aber das Problem besteht weiterhin.

Zum Problem:
Ich möchte, wie der Title schon sagt die Größe meiner Buttons ändern. Meine Buttons liegen in einem JPanel und wurden zu einem BoxLayout hinzugefügt, damit sie alle Untereinander liegen. Ich habe mit folgenden Funktionen jetzt versucht, die Größe zu ändern:
  • setSize();
  • setPreferredSize();
  • setMinimumSize();
  • setBounds();

Hat leider alles nicht geholfen. Was kann ich noch probieren?

gruß seux
 
V

vanny

Gast
Ausdrucken, übereinander kleben und mit der Scheere auf die gleiche Breite schneiden;)

Ein wenig Code wäre schon nett, um da etwas zu zu sagen.
 

seux

Aktives Mitglied
Java:
import java.awt.Dimension;

import javax.swing.BoxLayout;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.UIManager;


class myGUI {
	
	private JButton add_Btn;
	private JButton delete_Btn;
	private JButton generate_Btn;
	private JButton quit_Btn;
	
	private JFrame main_Frame;
	private JPanel button_Panel;
	private JPanel main_Panel;
	
	
	public myGUI()
	{
		try {
	        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
	    } catch (Exception e) { }
		
		main_Frame = new JFrame();
		main_Frame.setTitle("Hallo");
		main_Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		button_Panel = new JPanel();
		button_Panel.setLayout(new BoxLayout(button_Panel, BoxLayout.Y_AXIS));
		
		Dimension dim = new Dimension(150, 50);
		
		add_Btn = new JButton("Add");
		add_Btn.setPreferredSize(dim);
		
		delete_Btn = new JButton("Delete");
		delete_Btn.setSize(dim);
		
		generate_Btn = new JButton("Generate");
		generate_Btn.setMinimumSize(dim);
		
		quit_Btn = new JButton("Quit");
		quit_Btn.setBounds(quit_Btn.getBounds().x, quit_Btn.getBounds().y, 150, 50);
		
		main_Panel = new JPanel();
		main_Panel.setLayout(new BoxLayout(main_Panel, BoxLayout.Y_AXIS));
		main_Panel.add(button_Panel);
		
		main_Frame.add(main_Panel);
		main_Frame.pack();
	}
	
	public void show()
	{
		main_Frame.setVisible(true);
	}

	public static void main(String[] args) {
		myGUI gui = new myGUI();
		gui.show();
	}
}
 

Marco13

Top Contributor
Im Allgemeinen mit PreferredSize, und im Fall eines BoxLayouts kann ein bißchen Glue nicht schaden...
Java:
import java.awt.*;

import javax.swing.*;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.UIManager;


class myGUI {

    private JButton add_Btn;
    private JButton delete_Btn;
    private JButton generate_Btn;
    private JButton quit_Btn;

    private JFrame main_Frame;
    private JPanel button_Panel;
    private JPanel main_Panel;


    public myGUI()
    {
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (Exception e) { }

        main_Frame = new JFrame();
        main_Frame.setTitle("Hallo");
        main_Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        button_Panel = new JPanel();
        button_Panel.setBackground(Color.RED);
        button_Panel.setLayout(new BoxLayout(button_Panel, BoxLayout.Y_AXIS));

        Dimension dim = new Dimension(150, 50);

        add_Btn = new JButton("Add");
        add_Btn.setPreferredSize(dim);
        button_Panel.add(add_Btn);

        delete_Btn = new JButton("Delete");
        //delete_Btn.setSize(dim);
        button_Panel.add(delete_Btn);

        generate_Btn = new JButton("Generate");
        //generate_Btn.setMinimumSize(dim);
        button_Panel.add(generate_Btn);

        quit_Btn = new JButton("Quit");
        //quit_Btn.setBounds(quit_Btn.getBounds().x, quit_Btn.getBounds().y, 150, 50);
        button_Panel.add(quit_Btn);

        button_Panel.add(Box.createVerticalGlue());

        main_Panel = new JPanel();
        main_Panel.setLayout(new BoxLayout(main_Panel, BoxLayout.Y_AXIS));
        main_Panel.add(button_Panel);

        main_Frame.getContentPane().add(main_Panel);
        main_Frame.pack();
    }

    public void show()
    {
        main_Frame.setVisible(true);
    }

    public static void main(String[] args) {
        myGUI gui = new myGUI();
        gui.show();
    }
}
 

seux

Aktives Mitglied
Ich hab deinen Code jetzt mal kopiert und bei mir eingefügt, aber das hat eigl nichts gebracht. Mein Add Button ist jetzt zwar größer und quadratisch, aber die Größe von 150 und 50 hat er dennoch nicht.

[EDIT]
Noch eine kleine korrektur: Die Höhe der Buttons lässt sich mit setPreferredSize verändern. Bei der Breite passt es sich immer an die Länge des Textes an. Wie kann ich das ändern?
 
Zuletzt bearbeitet:

bERt0r

Top Contributor
Ich glaube das ist einfach die Natur vom Boxlayout. In einem vertikalen Boxlayout werden nur die Höhen beim Layouten berücksichtigt. Probiers mit einem anderen Layoutmanager wie Gridbag,Group,Mig oder Formslayout.
 

Marco13

Top Contributor
Das Verhalten des BoxLayouts ist da in manchen Punkten wirklich etwas eigenwillig, aber auf sowas wie How to Use BoxLayout (The Java™ Tutorials > Creating a GUI With JFC/Swing > Laying Out Components Within a Container) doch beshrieben:
When a BoxLayout lays out components from top to bottom, it tries to size each component at the component's preferred height. If the vertical space of the layout does not match the sum of the preferred heights, then BoxLayout tries to resize the components to fill the space. The components either grow or shrink to fill the space, with BoxLayout honoring the minimum and maximum sizes of each of the components. Any extra space appears at the bottom of the container.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Größe eines JButton AWT, Swing, JavaFX & SWT 3
S JButton auf verkleiner auf größe eines Icons AWT, Swing, JavaFX & SWT 5
B veränderte Größe eines Panels im Vorhinein wissen? AWT, Swing, JavaFX & SWT 1
U Größe eines Button im Menü ändern AWT, Swing, JavaFX & SWT 1
T Swing Aktuelle Größe eines Textes in einem Label darstellen AWT, Swing, JavaFX & SWT 3
X Swing Größe eines Fensters JFrame / Frame AWT, Swing, JavaFX & SWT 5
I Größe eines rotierten Images AWT, Swing, JavaFX & SWT 3
U feste Größe für den Zeichenbereich eines JFrames AWT, Swing, JavaFX & SWT 4
R Größe eines Labels bei GridBagLayout festlegen AWT, Swing, JavaFX & SWT 9
R Swing Größe eines Buttons ändern AWT, Swing, JavaFX & SWT 9
J SWT Größe eines Composite mit Gridlayout festlegen AWT, Swing, JavaFX & SWT 2
P Swing Größe eines JPanels bestimmen (ohne Border!) AWT, Swing, JavaFX & SWT 2
A Größe eines JFrames immer nur quadratisch AWT, Swing, JavaFX & SWT 8
M Anpassen der Größe eines JPanels (incl. gezeichneter Ampel) AWT, Swing, JavaFX & SWT 2
H Problem mit der Größe eines Dialogs mit ExpandBar AWT, Swing, JavaFX & SWT 2
A Problem der Größe von JCheckBox nach Hinzufügen eines Popups AWT, Swing, JavaFX & SWT 2
M Wirkliche Größe eines JPanels/o.ä. ermitteln AWT, Swing, JavaFX & SWT 3
G Größe eines JPanels beeinflussen AWT, Swing, JavaFX & SWT 5
G JTextfield Größe mit der Größe eines JTable Syncronisieren? AWT, Swing, JavaFX & SWT 2
G Größe eines Applets bestimmen AWT, Swing, JavaFX & SWT 6
A Größe eines JTextField beeinflussen AWT, Swing, JavaFX & SWT 5
N Rahmen zum editieren der Größe eines JComponents? AWT, Swing, JavaFX & SWT 2
M Größe eines JPanels ändern.aber wie? AWT, Swing, JavaFX & SWT 2
H Größe eines Fensters ermitteln AWT, Swing, JavaFX & SWT 13
L Größe eines JLabels an enthaltenen Text anpassen AWT, Swing, JavaFX & SWT 2
L Größe (in Byte) eines Image ermitteln AWT, Swing, JavaFX & SWT 2
T Größe und Position eines JLabels ermitteln AWT, Swing, JavaFX & SWT 3
P JTextField wird nur sehr klein angezeigt und verändert die Größe nicht AWT, Swing, JavaFX & SWT 3
H JDialog in Größe ändern - Resize-Cursor bleibt betreten der Komponente AWT, Swing, JavaFX & SWT 1
H AWT Dialog Größe ändern - Schwarzer Inhalt beim groß ziehen AWT, Swing, JavaFX & SWT 1
Yonnig JavaFX Größe von WebView an Content anpassen AWT, Swing, JavaFX & SWT 3
J Swing Komponente wird unpassend angepasst in der Größe AWT, Swing, JavaFX & SWT 35
FrittenFritze Ein Problem mit der CSSBox, die Größe wird nicht angepasst AWT, Swing, JavaFX & SWT 5
D JavaFX Größe des Bild an ImageView anpassen AWT, Swing, JavaFX & SWT 3
B Dynamische ListView-Größe, die bei Fenstergrößenänderung sich anpasst AWT, Swing, JavaFX & SWT 19
R Swing JTextField - Schriftgröße je nach Länge und Größe ändern AWT, Swing, JavaFX & SWT 0
B Größe der Parent-Component dynamisch an children anpassen AWT, Swing, JavaFX & SWT 30
L JavaFX AnchorPane an die Größe der Scene oder Window binden? AWT, Swing, JavaFX & SWT 3
K JavaFX Component Größe an Inhalt anpassen AWT, Swing, JavaFX & SWT 11
S Java GUI durch variable Größe einer Map anpassen AWT, Swing, JavaFX & SWT 3
R Größe von Scene und stage an grid anpassen AWT, Swing, JavaFX & SWT 4
M Java FX größe der shapes anpassen AWT, Swing, JavaFX & SWT 0
L Swing JPanel Größe anpassen AWT, Swing, JavaFX & SWT 6
E Wie kann ich ein JLabel auf größe der schriftlänge setzten? AWT, Swing, JavaFX & SWT 2
C Swing JFrame ändert Größe AWT, Swing, JavaFX & SWT 0
G Swing JButton ändert (unerwünscht) Größe bei Ausführung AWT, Swing, JavaFX & SWT 4
L Swing Größe automatisch anpassen AWT, Swing, JavaFX & SWT 14
B AWT Panel größe im BorderLayout einstellen AWT, Swing, JavaFX & SWT 1
J Swing Pane im SplitPane automatische Größe aktivieren AWT, Swing, JavaFX & SWT 0
DaCrazyJavaExpert Swing Größe des JPanel ändern/wird nicht geändert. AWT, Swing, JavaFX & SWT 3
M Swing Mehrere Textfelder mit ScrollBars - Größe der Felder AWT, Swing, JavaFX & SWT 0
L JavaFX ListView Größe anpassen AWT, Swing, JavaFX & SWT 1
Neumi5694 Größe von Komboboxen neu berechnen AWT, Swing, JavaFX & SWT 3
L JavaFX List oder TableView Größe dynamisch anpassen? AWT, Swing, JavaFX & SWT 4
P Größe und Ausrichtung von Komponenten festlegen AWT, Swing, JavaFX & SWT 13
I CSS - backgroundImage - Größe automatisch an den Container anpassen AWT, Swing, JavaFX & SWT 1
C Größe des Mauszeigers ermitteln AWT, Swing, JavaFX & SWT 5
MaxG. JFrame Größe ändern AWT, Swing, JavaFX & SWT 16
P Jframe Bild einfügen, Hintergrund Farbe ändern, und Button schrift Größe ändern AWT, Swing, JavaFX & SWT 2
K GridBagLayout verändert die größe? AWT, Swing, JavaFX & SWT 1
D Swing Größe einer JComboBox im GridBagLayout aufgrund der maximalen Länge der enthaltenen Daten AWT, Swing, JavaFX & SWT 7
D JavaFX Alle Knöpfe auf die gleiche Größe AWT, Swing, JavaFX & SWT 14
G JFrame - manuell Größe verändern AWT, Swing, JavaFX & SWT 6
M LayoutManager GridBagLayout passt seine größe nicht an AWT, Swing, JavaFX & SWT 3
F Gui weicht von Designpreview ab (kein fensterrahmen, andere größe) AWT, Swing, JavaFX & SWT 13
A JPanel größe verändern AWT, Swing, JavaFX & SWT 4
M SWT ScrollPane Größe zu klein AWT, Swing, JavaFX & SWT 6
T Swing Größe einer Komponente in einem BoxLayout / FlowLayout festlegen AWT, Swing, JavaFX & SWT 7
H JTree in JScrollPane passt sich nicht an Größe von JPanel an AWT, Swing, JavaFX & SWT 2
L JButton - Größe anders als erwartet AWT, Swing, JavaFX & SWT 2
L JDialog - Event wenn Parent größe ändert AWT, Swing, JavaFX & SWT 2
W GridBagLayout Größe geben AWT, Swing, JavaFX & SWT 1
S Swing JFrame hat nicht die Größe, die ich eingegeben habe AWT, Swing, JavaFX & SWT 3
S Größe der Komponenten, beim ändern der größe des Frames, mit ändern! AWT, Swing, JavaFX & SWT 2
S Größe und Farbe vom JButton festlegen AWT, Swing, JavaFX & SWT 2
D Swing Jlist Größe während der Laufzeit verändern. AWT, Swing, JavaFX & SWT 11
H AWT Fenster- und JLabel-Größe automatisch anpassen AWT, Swing, JavaFX & SWT 2
T Swing Größe des Randes AWT, Swing, JavaFX & SWT 2
C LayoutManager JFrame größe und ausrichtung + Position von Fensterelementen AWT, Swing, JavaFX & SWT 2
B Swing JTable mit Daten - Reihen-Größe anpassen AWT, Swing, JavaFX & SWT 0
D SWT Window passt Größe nicht an AWT, Swing, JavaFX & SWT 4
N JPanel größe wissen/festlegen vor dem Anzeigen AWT, Swing, JavaFX & SWT 3
G JavaFX Größe der Parentknoten AWT, Swing, JavaFX & SWT 5
R JPanel-Größe verändert sich nicht. Warum? AWT, Swing, JavaFX & SWT 5
A JPanel oder GridLayout Größe festsetzten AWT, Swing, JavaFX & SWT 4
F Swing JComboBox - Frage zur Größe AWT, Swing, JavaFX & SWT 11
SimonRap Swing JFrame Größe zur Laufzeit ändern AWT, Swing, JavaFX & SWT 2
G 2D-Grafik Größe der JFrame Decorations herausfinden? AWT, Swing, JavaFX & SWT 4
O Swing Jpanel autom. auf JFrame Größe bringen AWT, Swing, JavaFX & SWT 6
M Swing JLabel mit fester größe nachträglich formatieren AWT, Swing, JavaFX & SWT 2
A JComponent Größe AWT, Swing, JavaFX & SWT 8
S Größe von Panel verändern welches auf anderem Panel sitzt AWT, Swing, JavaFX & SWT 10
B JTextArea Größe an Container anpassen AWT, Swing, JavaFX & SWT 2
S Swing TextPane größe beschränken AWT, Swing, JavaFX & SWT 2
R Ellipse2D ändert Größe AWT, Swing, JavaFX & SWT 3
H Swing JButton größe ändern AWT, Swing, JavaFX & SWT 5
G JScrollPane reagiert nicht auf Änderung der JPanel-Größe AWT, Swing, JavaFX & SWT 4
P JPanel Größe ändern AWT, Swing, JavaFX & SWT 22
C Button Größe einstellen klappt nicht (setBounds) AWT, Swing, JavaFX & SWT 8
S 2D-Grafik Canvas Problem(Größe) AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben