【发布时间】:2012-07-22 07:43:54
【问题描述】:
如标题中所述。我有两个 JPanel,一个在另一个之上,使用 BorderLayout()。
import java.awt.*;
import javax.swing.*;
public class myForm(){
public static void main(String[] args) {
JFrame myFrame = new JFrame("SingSong");
myFrame.setLocation(100,100);
myFrame.setSize(new Dimension(1024,800));
myFrame.setLayout(new BorderLayout());
JPanel jp = new JPanel();
jp.setBackground(new Color(0x00FF00FF));
JPanel jp2 = new JPanel(new BorderLayout());
jp2.setBackground(new Color(0x00000000));
jp.setPreferredSize(new Dimension(100,400));
jp2.setPreferredSize(new Dimension(100,400));
jp2.setLocation(0, 512);
myFrame.add(jp2, BorderLayout.SOUTH);
myFrame.add(jp, BorderLayout.NORTH);
}
}
它们各占一半,但我怎样才能设置它,使它们总是占 JFrame 的一半,即使在调整大小时也是如此? (P.S. 我通常使用更好的变量名,我只是将其作为 SSCCE 进行)
【问题讨论】:
-
使用单列
GridLayout。 -
如果你把 sn-p 塞进一个 main 方法,它就可以工作。为了将来参考,我需要包含主要方法和类声明吗?
-
在SSCCE 上做得很好。 :) +1
-
@AndrewThompson 现在我知道了。我已经把它修好了,希望这能让你的一天变得愉快,先生:D xo