gpt4 book ai didi

java - 将 JTextArea 更改为 JScrollPane 导致它不可见

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:20:20 25 4
gpt4 key购买 nike

我在使用 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));




}

最佳答案

尝试使用 JTextArea 的构造函数,它使用 2 个 int 值:

textArea = new JTextArea(rows, columns);

来自 tutorial :

The two arguments to the JTextArea constructor are hints as to the number of rows and columns, respectively, that the text area should display. The scroll pane that contains the text area pays attention to these hints when determining how big the scroll pane should be.

编辑:上面的示例是 LayoutManager 的提示,但我只是注意到您没有使用 LayoutManager。除非您有充分的理由不这样做,否则您应该这样做。

关于java - 将 JTextArea 更改为 JScrollPane 导致它不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13273752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com