0

次のコードはボックスレイアウトを便利に作成しましたが、問題はテキストフィールドが行全体を占めることです。これは、指定されたパラメーターの長さを想定することになっています。

 public void makeControlpanel(){
    JPanel controlpanel = new JPanel();
     //SET PANEL LAYOUT MANAGERS
    controlpanel.setLayout(new BoxLayout(controlpanel,BoxLayout.PAGE_AXIS));

    controlpanel.setBorder(BorderFactory.createTitledBorder("Create Control file")); 


    filenameC   = new JLabel("Filename");
    filenameBad   = new JLabel("Bad Filename");
    filenameDis = new JLabel("Discard Filename");

    // fields
    fileField = new JTextField(1);
    badfileField = new JTextField(7);
    discardfileField = new JTextField(7);
4

1 に答える 1

0

レイアウト マネージャーは、コンポーネントのサイズを決定します。コンポーネントの境界をレイアウト マネージャーに定義するオプションがあります。

comp.setMinimumSize(new Dimension(w, h));
comp.setPreferredSize(new Dimension(w, h));
comp.setMaximumSize(new Dimension(w, h));

あなたが与えると、setPreferredSizeレイアウトマネージャーはそのサイズを与えようとします。GridBagLayout は msot の柔軟なレイアウトであり、必要なレイアウトをほぼ実現できます。

定義によるパラメーターlengthは、テキストフィールドに入力できる文字のみを定義します。

于 2012-09-15T09:39:38.090 に答える