Größe verstellen

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Code:
        final JFrame f = new JFrame( "Bitte eine Datei auswählen" );            
        f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );                    
        d = Toolkit.getDefaultToolkit().getScreenSize();                        
        f.setLocation(0,0);
                                                             
        f.setSize( d.width,d.height);  
        f.setLayout( new BorderLayout() ); 

        JPanel p = new JPanel();
        p.setBackground(Color.BLUE);
        p.setVisible(true);
        f.add(p, BorderLayout.NORTH);
        
        JPanel p1 = new JPanel();
        p1.setBackground(Color.RED);
        p1.setVisible(true);
        f.add(p1, BorderLayout.WEST);
        
        JPanel p2 = new JPanel();
        p2.setBackground(Color.GRAY);
        p2.setVisible(true);
        f.add(p2, BorderLayout.EAST);
        
        JPanel p3 = new JPanel();
        p3.setBackground(Color.GREEN);
        p3.setVisible(true);
        f.add(p3, BorderLayout.CENTER);
        
        JPanel p4 = new JPanel();
        p4.setBackground(Color.pink);
        p4.setVisible(true);
        f.add(p4, BorderLayout.SOUTH);

Ich habe ein fenster erstellt und dann 4 Panels die ich mit dem BorderLAyout angeordnet habe.

so nun füge ich einem Panel ein element zu z.b.

Code:
        final Button b = new Button( "OK" );
        b.setVisible( true );
        b.setSize( 150,150);      
        p.add(b);

So nun hab ich aber das problem, dass sich die Größe des Button in dem Panel nicht verändern lässt, an was liegt das? Habe ja b.setSize(bla,bla);

Klaro werde ich den Panels danach wieder LayoutManager zuordnen, aber dann habe ich bestimmt wieder das selbe Prob, dass ich die Größen nicht individuell machen kann.

Kann mir da jmd helfen?
 
G

Guest

Gast
Wenn ich schon dabei bin, habe noch 2 weitere Probleme:

1. Ich habe ja die Panels im BorderLayout angeordnet, ich will nun etwas in den CENTER Panel einfügen, z.b. einen
JLabel. Nun das Prob, wie bekomme ich diesen JLabel genau in die mitte des Panels.

Mit JLabel.CENTER klappts nicht, hab auch schon Probiert einen BorderLayout in den panel zu machen und dann über
BorderLayout.CENTER... geht jedoch auch nicht.. zumindest hab ichs nicht hin bekommen ^^.

Hatt dazu jmd evt eine idee.

2. Ich hätte gerne als hintergrund ein Bild, also als Hintergrund eines einzelnen Panel, wie bekomme ich ein Bild als Hintergrund in ein Panel.

MfG und thx schonmal für die Antworten.
 

kleiner_held

Top Contributor
1. die JPanels haben automatisch einen FlowLayout Manager, deswegen musst du setPreferredSize anstatt von von setSize() verwenden. Oder du setzt den LayoutManager des panels explizit auf null, dann musst Du aber nicht nur die Groesse des JButtons mit setSize() sondern auch die Position setzten, am besten du nimmst dafuer setBounds()

2.
Code:
label.setHorizontalAlignment(SwingConstants.CENTER);
label.setVerticalAlignment(SwingConstants.CENTER);
// jetzt ist das Label zentriert in seinen Bounds
panel.setLayout(new GridLayout(1,1));
panel.add(label);
// jetzt hat das label die groesse des panels, es ist also im panel zentriert
// du kannst naturlich auch ganz auf das panel verzichten und das label gleich dem frame zuweisen
frame.add(label, BorderLayout.CENTER);

Da du fuer dein JFrame aber ein BorderLayout verwendest, wird das label nicht zentriert im Frame sein, da die Panels an den Positionen BorderLayout.NORTH und BorderLayout.SOUTH ein unterschiedliche Hoehe haben koennen.

3. OverlayLayout verwenden, und sicherstellen, das die oben liegenden Komponenten Opaque=false gesetzt sind.
 
G

Guest

Gast
Danke für deine Antwort,

blos mit dem setPrefferedSize muss ich ne Dimesion angeben, blos wie übergebe ich einer Dimension z.b. die werte 100,100 ?


Danke damit gehts:

label.setHorizontalAlignment(SwingConstants.CENTER);
label.setVerticalAlignment(SwingConstants.CENTER);

Ja.. das mit dem OverlayLayout check ich net so ganz:

könntest das mal näher erleutern pls.

Ich erstelle ja ein Bild mit new Image("....jpg");

oder?
 
G

Guest

Gast
ah nochwas:

und zwar hab ich ja jetzt in meinem JFrame 5 JPanel angeordnet im BorderLayout.

So nun habe ich dem Panel das in der mitte (CENTER) ist auch das BorderLAyout eingestellt.

Nun das Prob:

Ich wil jetzt in dem Panel in der mitte (Center) 2 elemente einfügen, ein textfield und ein Butten, doch das geht leider nicht, da wenn ich sie zuweise in das Panel dann werden sie zwar reingemacht, aber erstrecken sich beide über den gesamten bereich, wie bekomme ich es hin beide elemente in den Center rein zu bekommen und zudem noch, dass sie nicht ihre größe verändern? Das mit dem setPreferredSize hab ich wegen der Dimension leider nicht gecheckt..

Kann mir jmd bitte weiterhelfen?
 

b0unc3

Bekanntes Mitglied
Code:
java.awt.Dimension Size = new Dimension(width, height);
 
G

Guest

Gast
K danke, muss jedoch feststellen, dass dies im Border Layout nicht funktioniert.

Noch bezüglich den anderen Sachen ^^ jmd ne idee?

MfG

und THX an alle die sich hier bemühen
 

kleiner_held

Top Contributor
preferred Size setzen:
Code:
button.setPreferredSize(new Dimension(150,150));

OverlayLayout:

Code:
JPanel contentPanel = new JPanel(new FlowLayout(FlowLayout.LEADING, 0, 0));
JPanel backgroundPanel = new JPanel(new FlowLayout(FlowLayout.LEADING, 0, 0));
contentPanel.setOpaque(false);
contentPanel.add(new JLabel("Das ist ein Label"));
contentPanel.add(new JButton("klick mich"));
backgroundPanel.add(new JLabel(new ImageIcon("C:/myImage.jpg")));
JPanel panel = new JPanel();
panel.setLayout(new OverlayLayout(panel));
panel.add(contentPanel);
panel.add(backgroundPanel);

Deine letzte Frage mit dem center verstehe ich nicht
 
G

Guest

Gast
K danke ;)

Das mit dem Bild geht jetzt thx.

Und das mit dem setPreferendSize.. geht nur im FlowLayout und nicht im BorderLayout... habs genau so gemacht wie du es gesagt hast.
 

kleiner_held

Top Contributor
Jepp, BorderLayout beachtet die PreferendSize nur teilweise. Wenn du ein komplexes Layout willst musst du dich entweder in GridBagLayout einarbeiten oder halt viele Panels schachteln.
 
G

Guest

Gast
kleiner_held hat gesagt.:
Jepp, BorderLayout beachtet die PreferendSize nur teilweise. Wenn du ein komplexes Layout willst musst du dich entweder in GridBagLayout einarbeiten oder halt viele Panels schachteln.


Jo das mit dem GridBagLayout hatte ich auch schon mal probiert, jedoch als ich es ein bauen wollt kam nur die fehlermeldung

cannot add to layout: constraints must be a GridBagConstraint


Ich habe den GridBagLayout einem Panal hinzugefügt was ich vorher mit BorderLayout platziert habe..

Liegt darin evt der fehler?
 
G

Guest

Gast
jo hab ich mir auch durchgelesen.. steig da aber net so durch.

Kann ich das Fenster trotzdem in ein BorderLayout einteilen und nur das CENTER vom borderlayout nehmen und dem dann den GridBagLayout hinzufügen?

panel.setLayout(new GridBagLayout());
(das panel ist aber vorher gesetzt worden über frame.add(panel.BorderLayout.CENTER);
quasi so zurodnen


static void addComponent( Container cont,
GridBagLayout gbl,
Component c,
int x, int y,
int width, int height,
double weightx, double weighty )



und dann die Elemente wie Buttons

addComponent( p3, gbl, new JButton("1"), 0, 0, 2, 2, 1.0, 1.0 );

(aus dem Tut kopiert...)

hinzufügen...

Das klappt aber nicht bekomme immer die Fehlermeldung, was mach ich falsch?

Sry bin ein nap aber hoffe ihr habt ein wenig geduld.
 
G

Guest

Gast
schau dir mal den thread mit dem PLZ problem von leroy an.

da ist ein mMn schönes kurzes beispiel des GridBagLayouts :cool:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Swing GridBagLayout in Größe anpassen AWT, Swing, JavaFX & SWT 6
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 veränderte Größe eines Panels im Vorhinein wissen? AWT, Swing, JavaFX & SWT 1
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
U Größe eines Button im Menü ändern AWT, Swing, JavaFX & SWT 1
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
T Swing Aktuelle Größe eines Textes in einem Label darstellen AWT, Swing, JavaFX & SWT 3
A JPanel oder GridLayout Größe festsetzten AWT, Swing, JavaFX & SWT 4
F Swing JComboBox - Frage zur Größe AWT, Swing, JavaFX & SWT 11
X Swing Größe eines Fensters JFrame / Frame AWT, Swing, JavaFX & SWT 5
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
I Größe eines rotierten Images AWT, Swing, JavaFX & SWT 3
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
R Größe/Anordnung der Gui-Elemente automatisch? AWT, Swing, JavaFX & SWT 6
S Die größe eines JButton ändern AWT, Swing, JavaFX & SWT 7
U feste Größe für den Zeichenbereich eines JFrames AWT, Swing, JavaFX & SWT 4
L Graphics.drawImage() - Output-Größe entspricht nicht Parametern AWT, Swing, JavaFX & SWT 10
P Tatsächliche Größe für Applet AWT, Swing, JavaFX & SWT 3
C Swing GridBag-Probleme (Größe und Ausrichtung) AWT, Swing, JavaFX & SWT 3
K JFrame Größe ändern AWT, Swing, JavaFX & SWT 4
M jTable - Größe beim Erzeugen AWT, Swing, JavaFX & SWT 4
hdi Swing JFrame Größe ermitteln AWT, Swing, JavaFX & SWT 6
S Swing jFrame auf maximale Größe setzten AWT, Swing, JavaFX & SWT 7
Z größe der komponenten bestimmen AWT, Swing, JavaFX & SWT 16
X Alte Frame-Größe beim wiederholten Aufruf AWT, Swing, JavaFX & SWT 5
I Größe von JPanel ändern AWT, Swing, JavaFX & SWT 6
S SWT Shell durch Event in der Größe verändern AWT, Swing, JavaFX & SWT 7
T Die Größe einer JTextArea an Ihren Parent JPanel anpassen. AWT, Swing, JavaFX & SWT 5
L JFrame größe in einem ActionEvent ändern AWT, Swing, JavaFX & SWT 4
G LayoutManager BorderLayout WEST Bereich auf maximale Größe beschränken AWT, Swing, JavaFX & SWT 19
T Inhalt von einem Tab an JTabbedPane größe ausrichten? AWT, Swing, JavaFX & SWT 2
A Größe von Textfield bestimmen AWT, Swing, JavaFX & SWT 9
S Button Größe - Anfänger AWT, Swing, JavaFX & SWT 13
0 JPanel nicht an größe des JFrames anpassen AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben