在BorderLayout Manager中调整JPanel的大小

时间:2015-01-08 07:00:31

标签: java jframe jpanel

我正在开发一个GUI。我在我的JFrame中使用了BoderLayout管理器。我在Frame的North区域添加了一个JPanel。问题是theJPanel没有采用我为高度指定的大小。它非常小。有没有办法调整JPanel的大小?

以下是完整的源代码:

public class JPanelDemo {

JFrame frame;
JPanel panel;
GridBagConstraints cons = new GridBagConstraints();

JPanelDemo() {
    createFrame();
}

public void createFrame() {
    //create the frame

    frame = new JFrame("GUI Sample");
    frame.setSize(new Dimension(750, 300));
    frame.setMaximumSize(new Dimension(2147483647, 2147483647));
    frame.setVisible(true);
//create the panel

    panel = new JPanel();
    panel.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED, Color.yellow, Color.black));
    panel.setCursor(Cursor.getDefaultCursor());
    panel.setMaximumSize(new Dimension(32767, 32767));
    panel.setSize(new Dimension(732, 146));

    BorderLayout layout= new BorderLayout();
    layout.setHgap(3);
    layout.setVgap(10);

    frame.setLayout(layout);
    frame.add(panel,"North");
    frame.add(new JButton("button"));
}

public static void main(String[] args) {

    JPanelDemo jpd = new JPanelDemo();
}

}

1 个答案:

答案 0 :(得分:0)

而不是键入" North"尝试

BorderLayout.NORTH

BorderLayout.FIRST_LINE

除了你用来确保框架可以无限增长的hackish方式,我认为如果你使用setPreferredSize

它看起来会更清晰