我已经用一些操作创建了FlowLayoutEx。然后尝试以标准方式将它们放入框架中。
public static void main(String args[]){
FlowLayoutEx applet=new FlowLayoutEx();
JFrame frame=new JFrame("HW2LayoutSettings");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(applet,BorderLayout.PAGE_END);
applet.init();
applet.start();
frame.setSize(400,300);
frame.pack();
frame.setVisible(true);
}
答案 0 :(得分:0)
它可能确实显示出来,但可能它太小或者之前抛出了异常,如果不知道你的FlowLayoutEx
类是什么,就不可能知道。
但是当你调用pack()
时,你将窗口设置为与其组件的首选大小相对应的大小。这意味着:
setSize
的来电无效,因为通过拨打pack
再次设置了尺寸答案 1 :(得分:0)
applet 的首选大小(re getPreferredSize())是多少?可能是(0,0)吗? JFrame是否使用BorderLayout?我认为这是默认值,但我不确定。尝试自己设置:frame.setLayout(new BorderLayout())。不确定BorderLayout.PAGE_END - 我总是使用BorderLayout.CENTER(对于JFrame中的主要或唯一的组件)。