为什么没有框架显示其标题?

时间:2013-11-01 13:31:06

标签: java jframe

我已经用一些操作创建了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);

}

2 个答案:

答案 0 :(得分:0)

它可能确实显示出来,但可能它太小或者之前抛出了异常,如果不知道你的FlowLayoutEx类是什么,就不可能知道。

但是当你调用pack()时,你将窗口设置为与其组件的首选大小相对应的大小。这意味着:

  1. 您之前对setSize的来电无效,因为通过拨打pack再次设置了尺寸
  2. 您的自定义组件应设置为首选大小。

答案 1 :(得分:0)

applet 的首选大小(re getPreferredSize())是多少?可能是(0,0)吗? JFrame是否使用BorderLayout?我认为这是默认值,但我不确定。尝试自己设置:frame.setLayout(new BorderLayout())。不确定BorderLayout.PAGE_END - 我总是使用BorderLayout.CENTER(对于JFrame中的主要或唯一的组件)。