Mittwoch, April 8, 2020

Einstellung der Größe des panels

Habe ich 3 Platten. Einer ist der Haupt-panel, das hält den 2 kleineren Platten.

Für die Haupt-panel, die ich verwendet,

setPreferredSize(new Dimension(350, 190));

Für die kleineren linken panel, die ich verwendet,

setPreferredSize(new Dimension(100, 190));

Für die kleineren rechten Bereich, die ich verwendet,

setPreferredSize(new Dimension(250, 190));

aber die kleineren panels bleiben die gleiche Größe. Wie kann ich dieses Problem beheben?Einstellung der Größe des panels

Dies ist der code den ich habe in meinem Haupt-Panel.

import model.*;
import java.awt.*;
import javax.swing.*;

public class Panel extends JPanel
{

public Panel(Prison prison)
{
    setup();
    build(prison);
}

private void setup()
{
    setBorder(BorderFactory.createLineBorder(Color.blue));
    setLayout(new BorderLayout(1, 1));
    setPreferredSize(new Dimension(350, 190));
}

private void build(Prison prison)
{
    JTabbedPane tab = new JTabbedPane();       
    tab.addTab("Input", null, new InputPanel(), "Input");
    tab.addTab("Display", null, new DisplayPanel(), "Display");
    add(tab);            
}
}
Sie vernachlässigen, um zu zeigen, das nur den relevanten code, in dem das InputPanel aufgebaut ist.

InformationsquelleAutor Karen | 2009-10-20

4 Kommentare

  1. 6

    Dies nicht tun.

    Den ganzen Punkt von layout-Managern zu ermöglichen, dynamische Größenanpassung, die notwendig ist, nicht nur für die user-resizable Fenster, aber auch wechselnde Texte (Internationalisierung) und verschiedenen Standard-Schriftgrößen und-Schriftarten.

    Wenn Sie nur verwenden Sie die layout-Manager richtig, Sie kümmern sich um panel-Größen. Um zu vermeiden, dass Ihre Komponenten streckte alle über der Bildschirm, wenn der Benutzer erhöht die Größe des Fensters, eine äußerste panel mit einem Links-ausgerichtet FlowLayout und der rest der UI als Ihr einziges Kind – das wird die Benutzeroberfläche seiner bevorzugten Größe und ein überschuss wird mit der Hintergrundfarbe gefüllt.

    InformationsquelleAutor Michael Borgwardt

  2. 1

    Wie es aussieht, bist du mit einem GridLayout, oder vielleicht ein FlowLayout, weder was Sie wollen. Sie wollen wahrscheinlich verwenden Sie ein BoxLayout, die respektiert seine Komponenten bevorzugten Größen.

    final JPanel p = new JPanel();
    p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS));
    p.add(leftPanel);
    p.add(mainPanel);
    p.add(rightPanel);
    das wichtigste Gremium ist die eine, die enthält die Registerkarten, und unter dem Reiter „Eingabe“, 2 weitere Platten. Für die Haupt-panel, ich bin mit BorderLayout und für den linken und rechten Bereich ich bin mit GridLayout.
    Sie können nicht ändern die Größe der Zellen in einem GridLayout(Zellen haben gleiche dimension)

    InformationsquelleAutor Jonathan Feinberg

  3. 0

    auch – das ist die bevorzugte Größe. wenn Sie nicht zulassen möchten, ändern der Größe, Sie können auch die maximale Größe sowie.

    wenn Sie in der Lage sind, möchten Sie vielleicht zu prüfen, die MIG layout, aber BoxLayout ist auch einfach zu bedienen und in der java-toolkit bereits.

    InformationsquelleAutor Jill Renee

  4. -2

    Ist es dieser.

    buttonPanel = new JPanel();
    buttonPanel.setSize(new Dimension(30, 100));

    Lassen Sie sich nicht die layout-manager passen Ihre Größen.

    InformationsquelleAutor smkelsey

Kostenlose Online-Tests