Layoutelemente zu groß

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
hallo,

ich habe ein frame auf der einige Steuerelemente oben sind. Diese sind Mittels einem GridLayout positioniert. Das Problem ist das das GridLayout mit den Steuerelementen über das ganze Frame geht, ich möchte diese Elemente jedoch nur in einer bestimmten Größe, aber dennoch mit dem GridLayout anzeigen lassen. Das Problem ist also, das mir die Buttons etc. zu groß sind.

Wie kann ich diese verkleinern??

Habs mit .setSize probiert geht aber nicht.

Code:
	nameL.setSize(10, 50);
		name.setSize(10, 50);
		vornameL.setSize(10, 50);
		vorname.setSize(10, 50);
		eintragen.setSize(10, 40);
		reset.setSize(10, 40);
				
		pane.add(nameL);
		pane.add(name);
		pane.add(vornameL);
		pane.add(vorname);
		pane.add(eintragen);
		pane.add(reset);
		
		add(pane);
		
		pane.setLayout(new GridLayout(3, 2));

Danke im Voraus,

joe
 

dieta

Top Contributor
Versuch's mal mit setPreserredSize(int x, int y).
setSize(int x, int y) funktioniert so weit ich weis nur bei "null-Layouts".
 

Marco13

Top Contributor
Bei einem GridLayout hilft auch setPreferredSize nichts: Die Gitterzellen werden standardmäßig komplett ausgefüllt, und sind so groß, wie das größte Element, das in irgendeiner Zelle enthalten ist. Ohne Hacks kreigt man as, was du willst, vmtl. mit einem GridLayout nicht hin. Kannst dich ja mal nach alternativen umsehen. Die "offizielle" Liste gibt's hier
http://java.sun.com/docs/books/tutorial/uiswing/layout/visual.html
aber die IMHO interessanteste Alternative ist
http://java.sun.com/products/jfc/tsc/articles/tablelayout/
Schade, dass die nicht Teil der API ist. Aber einen Blick wert.
 
G

Guest

Gast
danke erst Mal für die Antworten,

werde nun mal das TableLayout ausprobieren, kleiner geworden sind die Elemente nun schon, einzig die Anordnung der Elemente auf der Frame passt noch nicht.

MFG Joe
 

dieta

Top Contributor
Ich verwende immer GridBagLayout, da kann man so sachen wie in welcher Richtung die Elemente die Gitterzellen ausfüllen beliebig setzen, Abstände zwischen den Elementen sind dann auch kein Prob. mehr.
 

Marco13

Top Contributor
Oh ja, mein lieblingslayout...
Code:
button = new JButton("5");
c.ipady = 0;       //reset to default
c.weighty = 1.0;   //request any extra vertical space
c.anchor = GridBagConstraints.PAGE_END; //bottom of space
c.insets = new Insets(10,0,0,0);  //top padding
c.gridx = 1;       //aligned with button 2
c.gridwidth = 2;   //2 columns wide
c.gridy = 2;       //third row
pane.add(button, c);
:autsch:

http://madbean.com/anim/totallygridbag :wink:
 

André Uhres

Top Contributor
GridBagLayout ist eigentlich für einen visuellen Customizer gedacht:
gblCustomizer.jpg
 

dieta

Top Contributor
An Sonsten geht's mit Hilfsklassen wie der auch ganz gut:
Code:
import java.awt.*;

public class GBC extends GridBagConstraints
{
    
    public GBC(int gridx, int gridy)
    {
        super(gridx, gridy, 1, 1, 100, 100, CENTER, NONE, new Insets(0, 0, 0, 0), 0, 0);
    }
    
    public GBC setAnchor(int anAnchor)
    {
        anchor = anAnchor;
        return this;
    }
    
    public GBC setInsets(int anInsets)
    {
        insets = new Insets(anInsets, anInsets, anInsets, anInsets);
        return this;
    }
    
    public GBC setInsets(int x, int y)
    {
        insets = new Insets(y, x, y, x);
        return this;
    }
    
    public GBC setInsets(int top, int left, int bottom, int right)
    {
        insets = new Insets(top, left, bottom, right);
        return this;
    }
    
    public GBC setWeight(int x, int y)
    {
        weightx = x;
        weighty = y;
        return this;
    }
    
    public GBC setGridWidth(int gw)
    {
        gridwidth = gw;
        return this;
    }
    
    public GBC setGridHeigt(int gh)
    {
        gridheight = gh;
        return this;
    }
    
    public GBC setFill(int aFill)
    {
        fill = aFill;
        return this;
    }
    
    public GBC setPadding(int px, int py)
    {
        ipadx = px;
        ipady = py;
        return this;
    }
    
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Buttons und Shapes sehen ja nach Screengröße klein oder zu groß aus, jemand eine Idee, was man tun kann? AWT, Swing, JavaFX & SWT 1
H AWT Dialog Größe ändern - Schwarzer Inhalt beim groß ziehen AWT, Swing, JavaFX & SWT 1
N JFrame löscht alles, wenn groß gemacht AWT, Swing, JavaFX & SWT 9
F Best-Practise: JTable Text in Zelle zu groß AWT, Swing, JavaFX & SWT 2
B JavaFX TableView-Zellen sollen automatisch so groß wie der größte Inhalt sein AWT, Swing, JavaFX & SWT 6
J Controller wird zu groß, was tun ? AWT, Swing, JavaFX & SWT 5
Sam96 JavaFX mit Sqlite Projekt mit jar zu groß AWT, Swing, JavaFX & SWT 10
M SWT CCombo immer so groß wie der größte Wert! AWT, Swing, JavaFX & SWT 0
J SWT jar-File relativ groß AWT, Swing, JavaFX & SWT 5
B JPanel zu groß in JScrollPane AWT, Swing, JavaFX & SWT 5
J Textfelder zu groß für den Text AWT, Swing, JavaFX & SWT 10
A Java Print: Bilder werden zu groß ausgedruckt AWT, Swing, JavaFX & SWT 6
S GridBagLayout - JTable zu groß - feste Zellengröße? AWT, Swing, JavaFX & SWT 2
G ImageIcon viel zu groß AWT, Swing, JavaFX & SWT 2
O Buttons gleich groß + gleicher Abstand AWT, Swing, JavaFX & SWT 3
V Cursor zu Groß AWT, Swing, JavaFX & SWT 4
S JCOntentPane ist automatisch groß? AWT, Swing, JavaFX & SWT 6
L Button groß bzw. klein ziehen AWT, Swing, JavaFX & SWT 4
I Button in JToolbar gleich groß AWT, Swing, JavaFX & SWT 2
T JSplitPane immer gleich groß machen AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben