JPanels的可扩展尺寸?

时间:2015-12-18 14:45:51

标签: java swing

所以我开始自己的小项目是因为我要构建一个主要使用JPanel组件的简单文本编辑器。现在我已经设置了这样的尺寸:

tfMain.setPreferredSize(new Dimension(550,650));

它有效,但它不能很好地扩展。如果我调整JFrame的大小,我的所有组件都会被移动,试图适应。而且我的tfMain保持不变,因为我将它设置为550x650。所以,要清楚;当你启动程序时,我的tfMain应该是550x650。如果我让窗口变小,它应该变小,如果我把窗口变大,它应该变得更大。

对于按钮移动的问题,我认为与我的布局有关。现在我正在使用BorderLayout,但我认为Box或Grid可能更好。

编辑: 在GridLayout的帮助下,我似乎解决了组件飞来飞去的问题。但它确实增加了一些填充,所以我不确定是什么。 到目前为止,这是我的代码:

public class Viewer extends JPanel {
    private Controller controller;
    private JPanel jpEverything = new JPanel();
    private JTextArea taMain = new JTextArea();

    public Viewer(Controller controller, ButtonPanel buttonPanel){
        this.controller = controller;
        jpEverything.setLayout(new BoxLayout(jpEverything,BoxLayout.Y_AXIS));
        setPreferredSize(new Dimension(500,600));
        taMain.setPreferredSize(new Dimension(400,500));
        jpEverything.add(buttonPanel);
        jpEverything.add(taMain);
        add(jpEverything);

    }
}

它的外观如下: enter image description here

0 个答案:

没有答案