0

何らかの理由で、ウィンドウが最小化されてから復元されると、jscrollpane が何らかの形でレイアウトを台無しにします。

テキスト エリア内のテキストがテキスト エリアのサイズよりも長くない場合 (つまり、垂直スクロール バーが表示されない場合)、これは発生しないことに注意してください。

何が問題なのか誰にもわかりますか?

以下の私のコード:

        super (new GridBagLayout());  

        textField = new JTextArea(20,80);
        textField.addKeyListener(null);



        JScrollPane scrollPane1 = new JScrollPane(textField);

        textArea = new JTextArea(20, 80);
        textArea.setEditable(false);           
        JScrollPane scrollPane = new JScrollPane(textArea);

        String[] dropValues = {"Format code","Add commas","Add quotes"};
        dropdown = new  JComboBox(dropValues);
        dropdown.setSelectedIndex(0);


        myButton = new JButton("Do it babe!!!");
        myButton.addActionListener(this);


        //Add Components to this panel.
        GridBagConstraints c = new GridBagConstraints();
        c.gridwidth = GridBagConstraints.REMAINDER;

//        c.fill = GridBagConstraints.HORIZONTAL;
        add(dropdown, c);



        c.anchor = GridBagConstraints.CENTER;
//        c.fill = GridBagConstraints.BOTH;
        c.weightx = 1.0;
        c.weighty = 1.0; 
        add(scrollPane1, c);
        add(myButton, c);
        add(scrollPane, c);  

アプリ初回起動時 ここに画像の説明を入力

テキストエリアの高さよりも長いテキストの場合 ここに画像の説明を入力

復元後 ここに画像の説明を入力

4

1 に答える 1

0

と のプロパティで使用c.fill = GridBagConstraints.BOTH;します。それは役立ちます。weightxweightyJScrollPane

于 2013-11-04T17:31:13.697 に答える