【问题标题】:Why JTextArea doesn't work with JPanel?为什么 JTextArea 不能与 JPanel 一起使用?
【发布时间】:2015-09-25 03:47:27
【问题描述】:

为什么当我将JTextArea 添加到 JPanel 时它不起作用?当我使用JButton 而不是JTextArea 时,一切正常。为什么JTextArea 不能与JPanel 一起工作,而与JFrame 一起工作?

public class Searching extends JPanel {

    private JPanel searchPanel;
    private JTextArea addMedicament;

    public Searching(){
        searchPanel = new JPanel();
        searchPanel.setLayout(new GridLayout(1,1));
        setBackground(Color.BLUE);

        addMedicament = new  JTextArea();
        searchPanel.add(addMedicament);

        this.add(searchPanel);
    }

}

【问题讨论】:

  • 究竟是什么不起作用?
  • 当我将面板添加到上面的框架中时,它不显示 JTextArea。我只是好奇为什么当我将 JTextArea 替换为 JButton 时一切都很好
  • 你怎么知道它不起作用?您没有在文本区域中放置任何文本,因此没有可显示的内容。尝试在其中添加一些文本,看看会发生什么。

标签: java swing user-interface layout jtextarea


【解决方案1】:

文本区域可以很好地与面板配合使用。

尝试如下创建文本区域:

JTextArea textArea = new JTextArea(5, 20);
JScrollPane = new JScrollPane( textArea );
panel.add( scrollPane );

现在将使用首选大小创建文本区域。随着数据的更改,滚动条将根据需要出现/消失,因为问题在于您的代码以及您如何使用代码的上下文,而不是面板或文本区域。

如果这没有帮助,那么发布一个正确的SSCCE 来说明问题。

【讨论】:

    猜你喜欢
    • 2017-10-17
    • 1970-01-01
    • 2020-04-15
    • 1970-01-01
    • 2018-03-09
    • 2021-06-14
    • 2012-10-09
    • 2020-03-18
    • 2017-11-21
    相关资源
    最近更新 更多