Größe von Box festlegen

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo Forum,

ich möchte die Größe einer Box festlegen. Wenn ich das mit setMaximumSize und setMinimumSize machen will, ändert die Box ihre Größe scheinbar willkürlich. Also das sieht bei mir im Code ungefähr so aus:

Code:
preferredSize = testBox.getPreferredSize();
testBox.setMaximumSize(new Dimension(200, preferredSize.height));
testBox.setMinimumSize(new Dimension(200, preferredSize.height));

Auch wenn ich setPreferredSize auf denselben Wert setze, kommt dasselbe dabei heraus.

Vor allen Dingen krieg ich Probleme, wenn ich mehrere Boxen habe und die alle auf dieselbe Größe setzen will. Was mache ich falsch??
 
G

Guest

Gast
Ich hab die Boxen in einer jToolBar (toolsPanel). Diese wiederum ist in einem JPanel mit BorderLayout angeordnet:

Code:
add(toolsPanel, BorderLayout.LINE_START);

Die Toolbar hat auch eine feste Größe, es sind nur die Boxen darin, die nie einheitlich groß sind...
 
G

Guest

Gast
Und wenn ich das hier probiere:

Code:
Dimension preferredSize = toolsPanel.getPreferredSize();
toolsPanel.setMaximumSize(new Dimension(20, preferredSize.height));
toolsPanel.setMinimumSize(new Dimension(20, preferredSize.height));

passiert auch gar nichts...
 

Marco13

Top Contributor
Post' halt mal Beispiel
Code:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

public class ToolBarDemo extends JPanel{
    protected JTextArea textArea;

    public ToolBarDemo() {
        super(new BorderLayout());

        //Create the toolbar.
        JToolBar toolBar = new JToolBar("Still draggable");
        addButtons(toolBar);

        //Create the text area used for output.  Request
        //enough space for 5 rows and 30 columns.
        textArea = new JTextArea(5, 30);
        textArea.setEditable(false);
        JScrollPane scrollPane = new JScrollPane(textArea);

        //Lay out the main panel.
        setPreferredSize(new Dimension(450, 130));
        add(toolBar, BorderLayout.PAGE_START);
        add(scrollPane, BorderLayout.CENTER);
    }

    protected void addButtons(JToolBar toolBar) {

        Box box = new Box(BoxLayout.X_AXIS);
        JPanel p = new JPanel();
        p.setBackground(Color.RED);
        p.setPreferredSize(new Dimension(200,200));
        p.setMaximumSize(new Dimension(200,200));
        JLabel l = new JLabel("1");
        p.add(l);
        box.add(p);
        toolBar.add(box);

        box = new Box(BoxLayout.X_AXIS);
        p = new JPanel();
        p.setBackground(Color.GREEN);
        p.setPreferredSize(new Dimension(100,100));
        p.setMaximumSize(new Dimension(100,100));
        l = new JLabel("2");
        p.add(l);
        box.add(p);
        toolBar.add(box);

        box = new Box(BoxLayout.X_AXIS);
        p = new JPanel();
        p.setBackground(Color.BLUE);
        p.setPreferredSize(new Dimension(300,300));
        p.setMaximumSize(new Dimension(300,300));
        l = new JLabel("3");
        p.add(l);
        box.add(p);
        toolBar.add(box);
    }


    /**
     * Create the GUI and show it.  For thread safety,
     * this method should be invoked from the
     * event dispatch thread.
     */
    private static void createAndShowGUI() {
        //Create and set up the window.
        JFrame frame = new JFrame("ToolBarDemo");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //Add content to the window.
        frame.add(new ToolBarDemo());

        //Display the window.
        frame.setSize(800,600);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        //Schedule a job for the event dispatch thread:
        //creating and showing this application's GUI.
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                //Turn off metal's use of bold fonts
            UIManager.put("swing.boldMetal", Boolean.FALSE);
            createAndShowGUI();
            }
        });
    }
}
 
G

Guest

Gast
Also das ist meine Klasse

Code:
public class TestView extends JPanel {

	
    /* Fields ****************************************/
	
    ToolsPanel toolsPanel;
    CentreView centreView;
		
	
    /* Constructors ****************************************/
	
    public TestView(FTAnalysis fTAnalysis) {
		
        super(new BorderLayout());
		
        /* ViewsPanel
         **********************************************/
        JPanel viewsPanel = new JPanel(new BorderLayout());
		
        // rightView
        JPanel rightPanel = new JPanel(new GridLayout(6,1));
        rightPanel.setBorder(BorderFactory.createEmptyBorder(6, 0, 24, 4));
		
        viewsPanel.add(rightPanel, BorderLayout.LINE_END);
	                        
        // CentreView
        centreView = new CentreView(this);
        viewsPanel.add(centreView, BorderLayout.CENTER);
				
		
        /* ToolsPanel
         **********************************************/
        toolsPanel = new ToolsPanel(this);
                
        add(toolsPanel, BorderLayout.LINE_START);
		
    }

Um die Größe von dem ToolsPanel geht's hier ja. Das ToolsPanel ist dann folgendermaßen aufgebaut:

Code:
public class ToolsPanel extends JToolBar {
	
	
    /* Fields ****************************************/
	
    TestView testView;
    JComboBox[] comboBoxTest;
	
    /* Constructors ****************************************/
	
    public ToolsPanel(TestView testView) {
		
        super(null,JToolBar.VERTICAL);
        this.testView = testView;
		
        //Settings of JToolBar.
        setFloatable(false);
        setRollover(true);
				
		
        Dimension preferredSize;
                
        /* Box displaying the selected analysis type
        *******************************************/
                
        Box testBox = Box.createVerticalBox();
        testBox.setBorder(BorderFactory.createTitledBorder("This is a test"));
                
        JLabel label1 = new JLabel("Display stuff");
        label1.setFont(new java.awt.Font("Tahoma", 1, 14));
                
                              
        testBox.add(label1);
                
                
        preferredSize = testBox.getPreferredSize();
        testBox.setMaximumSize(new Dimension(Integer.MAX_VALUE, preferredSize.height));
                
        add(testBox);
                
        /* 2nd Box
         **********************************************/
        Box testBox2 = Box.createVerticalBox();
        testBox2.setBorder(BorderFactory.createTitledBorder("Another test"));
                		
        JButton butTest = new JButton("Reset Default Parameters");
        testBox2.add(butTest);
		
        comboBoxTest = new JComboBox[4];
        for (int i = 0; i < 4; i++) {
            comboBoxTest[i] = new JComboBox();
            testBox2.add(comboBoxTest[i]);
        }
	
        preferredSize = testBox2.getPreferredSize();
        testBox2.setMaximumSize(new Dimension(Integer.MAX_VALUE, preferredSize.height));
        add(testBox2);
    }

Wenn ich das so mache, sind die Boxen alle gleich gross (gehen über die Breite des ToolsPanel), aber sobald ich die Größe anpassen will (z.B. verkleinern), sind beide Boxen unterschiedlich gross und das ToolsPanel bleibt, wie's ist...
 
G

Guest

Gast
Das Problem ist ja, dass ich den Code benutzen muss, den ich habe, weil sonst kann ich das ganze Programm neu schreiben.

Ich hab's jetzt so gelöst, indem ich im ToolsPanel ein GroupLayout erzeugt habe, wo ich dann die Größe festlegen kann.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Ausgabefenster größe festlegen Java Basics - Anfänger-Themen 3
M Größe eines Buttons festlegen Java Basics - Anfänger-Themen 4
A Größe von Bild festlegen Java Basics - Anfänger-Themen 3
MisterSeven Java Swing - Wie Frame größe festlegen?! Java Basics - Anfänger-Themen 10
Z TextArea Größe festlegen Java Basics - Anfänger-Themen 22
S Auf JButtonBar komponenten ausrichten, größe festlegen? Java Basics - Anfänger-Themen 5
G minimale Größe von JFrame festlegen Java Basics - Anfänger-Themen 7
T sortierung der eingabe nach größe Java Basics - Anfänger-Themen 5
S Java Client-je nach Heap Size Größe startet Applikation oder nicht Java Basics - Anfänger-Themen 4
J Größe eines Strings in Pixel Java Basics - Anfänger-Themen 18
M Seltsame Bytecode-Größe Java Basics - Anfänger-Themen 22
C initialisieren eines arrays richtiger Größe und mit geeignetem Datentyp Java Basics - Anfänger-Themen 26
J JScrollePane größe anpassen Java Basics - Anfänger-Themen 4
G Bubblesort Array der Größe 10 Java Basics - Anfänger-Themen 1
Kawastori Größe eines Arrays bestimmen Java Basics - Anfänger-Themen 13
D Probleme mit JFrame und der Größe Java Basics - Anfänger-Themen 8
O ADT Graph nach größe Abfragen Java Basics - Anfänger-Themen 42
G Benutzereingaben durch Zeilenumbruch trennen und in Array individueller Größe speichern Java Basics - Anfänger-Themen 20
T JLabel hat falsche größe Java Basics - Anfänger-Themen 1
H Swing Button hat falsche Größe Java Basics - Anfänger-Themen 5
D JPanel passt die Größe nicht an Java Basics - Anfänger-Themen 22
E Array-Größe anpassen Java Basics - Anfänger-Themen 1
Z ArrayList direkt feste Größe mitgeben Java Basics - Anfänger-Themen 13
R Verschachtelte Arraylist und deren Größe auslesen Java Basics - Anfänger-Themen 7
D Größe der Zahlenkombinationen eines Arrays begrenzen Java Basics - Anfänger-Themen 0
V Die die aktuelle Größe zusätzlich in einem Label angezeigt wird Java Basics - Anfänger-Themen 11
J Liste der Größe nach sortieren Java Basics - Anfänger-Themen 2
P Größe der BufferStrategy in der Window-Klasse Java Basics - Anfänger-Themen 5
S String nach Größe sortieren Java Basics - Anfänger-Themen 6
O Größe von Objekten Java Basics - Anfänger-Themen 5
H Erste Schritte Größe eines 2 dimensionalen Arrays ausgeben Java Basics - Anfänger-Themen 6
M Feste Größe des JFrames - Problem mit Dimension Java Basics - Anfänger-Themen 6
S 2D-Spiel im Vollbild an größe anpassen? Java Basics - Anfänger-Themen 3
1 Größe einer zirkulären Liste bestimmen .. ? Java Basics - Anfänger-Themen 2
S JSlider Schritt Größe Java Basics - Anfänger-Themen 5
P JTabel größe ändern und button anzeigen Java Basics - Anfänger-Themen 5
L JLabel Icon Größe anpassen Java Basics - Anfänger-Themen 11
S Datentypen und ihre Größe Java Basics - Anfänger-Themen 21
P JFrame Component automatische Größe verhindern Java Basics - Anfänger-Themen 2
L 3 Zahlen einlesen und nach der Größe Sortieren Java Basics - Anfänger-Themen 5
A Bildgröße automatisch auf JLabel Größe konvertieren Java Basics - Anfänger-Themen 9
W Methoden größe zweier tiere vergleichen Java Basics - Anfänger-Themen 15
B JTabbedPane größe der Tabs ändern Java Basics - Anfänger-Themen 6
M Größe einer Datei via. Link ermitteln Java Basics - Anfänger-Themen 9
T Erste Schritte Textfeld übernimmt Größe nicht Java Basics - Anfänger-Themen 11
W JButton in gleiche Größe bringen Java Basics - Anfänger-Themen 4
E Buchstaben nach Größe vergleichen Java Basics - Anfänger-Themen 4
M OOP Methode überschreiben mit String-Paramter unterschiedlicher Größe? Java Basics - Anfänger-Themen 19
RySa Input/Output aktuelle größe des BufferedWriters ? Java Basics - Anfänger-Themen 5
T ArrayIndexOutOfBoundsException - Problem mit Array-Größe Java Basics - Anfänger-Themen 4
L Größe von Ordner wiedergeben Java Basics - Anfänger-Themen 4
J Array Größe über Kommandozeile eingeben Java Basics - Anfänger-Themen 3
K GUI - Größe nicht änderbar Java Basics - Anfänger-Themen 7
B Tabelle, Größe der Komponenten Java Basics - Anfänger-Themen 2
Luk10 Größe von Objekten Java Basics - Anfänger-Themen 4
A Datentypen Größe eines mehrdimensionales Arrays Java Basics - Anfänger-Themen 4
E Titel und Größe vom JFrame setzen Java Basics - Anfänger-Themen 6
A Bild ändert Größe des Gridbag Layouts Java Basics - Anfänger-Themen 4
M Größe einer Konsole ermitteln Java Basics - Anfänger-Themen 2
D Zylinder/Eigenschaften (auf Größe) vergleichen Java Basics - Anfänger-Themen 16
c_sidi90 Größe von Dateien aus File Array ermitteln Java Basics - Anfänger-Themen 12
N zweidimensionales array größe bestimmen Java Basics - Anfänger-Themen 1
I Schriftart / farbe / größe bei Emailversand ändern Java Basics - Anfänger-Themen 17
K Problem mit Applet Größe Java Basics - Anfänger-Themen 5
Luk10 Größe eines Arrays ausgeben Java Basics - Anfänger-Themen 4
B JButton Größe einstellen? Java Basics - Anfänger-Themen 3
T Wie kann ich einem Graph in nem JPanel eine fixe Größe geben? Java Basics - Anfänger-Themen 6
M größe JEditorPane Java Basics - Anfänger-Themen 5
radiac Von einem Bild die Größe rausfinden??? Java Basics - Anfänger-Themen 9
J 2Dimensionales Array, Größe durch Eingabe bestimmen Java Basics - Anfänger-Themen 9
S Eclipse Java Applet größe ändern aber wie? Java Basics - Anfänger-Themen 5
M array - größe Java Basics - Anfänger-Themen 8
K Größe, mehrdimensionales Array Java Basics - Anfänger-Themen 6
B ComboBox Größe ändern Java Basics - Anfänger-Themen 4
P Größe eines JButton? Java Basics - Anfänger-Themen 17
C die Klasse File - die größe der Datei anzeigen Java Basics - Anfänger-Themen 12
Q Vector verändert trotz final seine Größe Java Basics - Anfänger-Themen 5
-horn- Array mit nicht fixer Größe möglich? Nachträgliches befüllen Java Basics - Anfänger-Themen 10
C Größe einer Referenz ? Java Basics - Anfänger-Themen 16
G JButton LookAndFeel - Größe ändern Java Basics - Anfänger-Themen 2
D File(jpeg) größe ändern und dann zu einen byte[] Java Basics - Anfänger-Themen 7
F InternalFrame, Anpassung der Größe Java Basics - Anfänger-Themen 10
F Größe von Grafik-Containern verschieben Java Basics - Anfänger-Themen 2
K globales array - größe im Konstruktor Java Basics - Anfänger-Themen 3
N Integer Array der Größe nach ordnen Java Basics - Anfänger-Themen 1
I Swing-Komponenten-Größe im GridBagLayout beschränken Java Basics - Anfänger-Themen 2
G Button Größe anpassen Java Basics - Anfänger-Themen 4
R textfeld größe definieren Java Basics - Anfänger-Themen 2
B Java Array List größe auslesen zur Suchfunktion Java Basics - Anfänger-Themen 5
K Strings der Größe nach ordnen Java Basics - Anfänger-Themen 5
M größe für Applet definieren Java Basics - Anfänger-Themen 4
G JList größe verändert sich Java Basics - Anfänger-Themen 2
G max größe array Java Basics - Anfänger-Themen 10
G Größe von JFrame unveränderbar Java Basics - Anfänger-Themen 7
G Maximale Größe von klasse Java Basics - Anfänger-Themen 7
G die Größe eines Button bestimmen ? Java Basics - Anfänger-Themen 4
N Größe von Buttons Java Basics - Anfänger-Themen 3
K Größe des nötigen Array erraten Java Basics - Anfänger-Themen 8
G Aktuelle Heap-Größe auslesen? Java Basics - Anfänger-Themen 3
A JPanel(mit JScrollBar) größe ändern Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben