0

私はいくつかの操作で 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);

}
4

2 に答える 2

0

おそらく表示されますが、小さすぎるか、以前に例外がスローされた可能性がありますFlowLayoutEx。クラスが何であるかを知らずに知ることは不可能です。

ただし、呼び出すときpack()は、そのコンポーネントの優先サイズに対応するサイズにウィンドウを設定します。その意味は:

  1. setSizeへの呼び出しによってサイズが再度設定されるため、以前の への呼び出しは役に立ちません。pack
  2. カスタム コンポーネントは、適切なサイズに設定する必要があります。
于 2013-11-01T13:38:28.043 に答える
0

アプレットの推奨サイズ (getPreferredSize() を参照) は? (0、0)でしょうか?JFrame は BorderLayout を使用していますか? それがデフォルトだと思いますが、よくわかりません。自分で設定してみてください: frame.setLayout(new BorderLayout())。BorderLayout.PAGE_END については不明 - 私は常に BorderLayout.CENTER を使用します (JFrame のメインまたは唯一のコンポーネント用)。

于 2013-11-01T13:59:41.247 に答える