3

JScrollPanes オブジェクトと JTextArea オブジェクトに問題があり、それらを連携させています。

JTextArea を JPanel に追加するだけで問題なく動作し、指定した場所に表示されます。ただし、contentPane.add(textArea) を contentPane.add(new JScrollPane(textArea)) に変更すると、textArea が表示されなくなり、textarea の兆候もなくなります。

これが私のコードです:

public docToolGUI() {

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 611, 487);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);

        textField = new JTextField();
        textField.setBounds(253, 323, 86, 20);
        contentPane.add(textField);
        textField.setColumns(10);

        JLabel lblEnterRootDirectory = new JLabel("Enter Root Directory");
        lblEnterRootDirectory.setBounds(253, 293, 127, 20);
        contentPane.add(lblEnterRootDirectory);

        JButton btnGo = new JButton("Go");
        btnGo.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent arg0) {
                new ToolWorker().execute();
            }
        });
        btnGo.setBounds(253, 361, 89, 23);
        contentPane.add(btnGo);

        textArea = new JTextArea();
        textArea.setWrapStyleWord(true);
        textArea.setEditable(false);
        textArea.setBounds(25, 11, 560, 276);
        contentPane.add(new JScrollPane(textArea));




    }
4

2 に答える 2

5

2 つの int 値を使用する JTextArea のコンストラクターを使用してみてください。

textArea = new JTextArea(rows, columns);

チュートリアルから :

JTextArea コンストラクターの 2 つの引数は、それぞれテキスト領域に表示する行数と列数に関するヒントです。テキスト領域を含むスクロール ペインは、スクロール ペインの大きさを決定する際に、これらのヒントに注意を払います。

編集: 上記のサンプルは LayoutManager のヒントですが、使用していないことに気付きました。断る正当な理由がない限り、そうすべきです。

于 2012-11-07T16:59:03.590 に答える
-1

これは、JScrollPane の境界を設定する必要があり、テキスト領域の代わりにスクロール ペインを表示する必要があるためです。

textArea = new JTextArea();
textArea.setWrapStyleWord(true);
textArea.setEditable(false);

JScrollPane scrollPane = new JScrollPane(textArea);
scrollPane.setBounds(25, 11, 560, 276);
scrollPane.setVisible(true);

contentPane.add(scrollPane);
于 2012-11-07T16:57:21.203 に答える