当组件超出文本区域内时启用 ScrollPane
Enable ScrollPane when components exceed inside a text area
首先可能有些人已经问过这个问题。但是,我确定我做不到 google。无论如何,我有一个 scrollPane,它有一个 textArea 的 viewPortView。我的问题是,当我在 textArea 中插入大量组件时,我想显示我的滚动窗格。我该怎么做?我不知道,我也不是 Javax Swing 的专家。
代码如下:
textArea = new JTextArea();
scrollPane = new JScrollPane();
textArea.setBounds(0,50,520,550);
textArea.setBackground(Color.DARK_GRAY);
scrollPane.setBounds(textArea.getBounds());
scrollPane.setViewportView(textArea);
感谢您的帮助!
My question is I would like to show my scrollpane when i insert numerous components inside my textArea.
文本区域显示文本,而不是组件。当您实际向文本区域添加文本时,滚动条会自动出现。
textArea.setBounds(0,50,520,550);
不要使用 setBounds。 Swing 旨在与布局管理器一起使用。特别是 JScrollPane 只有在您使用布局管理器时才能正常工作。
//textArea = new JTextArea();
textArea = new JTextArea(5, 20);
当您创建 JtextArea 时,请使用上述代码。这将允许文本区域确定其自己的首选大小。然后,当您添加超过 5 行文本时,就会出现滚动条。
阅读 How to Use Text Areas 上的 Swing 教程部分,了解更多信息和工作示例。为所有 Swing 基础知识准备一份 link 教程。
仅供参考,
如果文本区域有多行,滚动条默认滚动到文本区域的末尾。要使文本区域中的行保持换行并将滚动条保持在文本区域的顶部,以下代码将有所帮助
textArea .setWrapStyleWord(true);
textArea .setLineWrap(true);
DefaultCaret caret = (DefaultCaret) textArea .getCaret();
caret.setUpdatePolicy(DefaultCaret.NEVER_UPDATE);
首先可能有些人已经问过这个问题。但是,我确定我做不到 google。无论如何,我有一个 scrollPane,它有一个 textArea 的 viewPortView。我的问题是,当我在 textArea 中插入大量组件时,我想显示我的滚动窗格。我该怎么做?我不知道,我也不是 Javax Swing 的专家。 代码如下:
textArea = new JTextArea();
scrollPane = new JScrollPane();
textArea.setBounds(0,50,520,550);
textArea.setBackground(Color.DARK_GRAY);
scrollPane.setBounds(textArea.getBounds());
scrollPane.setViewportView(textArea);
感谢您的帮助!
My question is I would like to show my scrollpane when i insert numerous components inside my textArea.
文本区域显示文本,而不是组件。当您实际向文本区域添加文本时,滚动条会自动出现。
textArea.setBounds(0,50,520,550);
不要使用 setBounds。 Swing 旨在与布局管理器一起使用。特别是 JScrollPane 只有在您使用布局管理器时才能正常工作。
//textArea = new JTextArea();
textArea = new JTextArea(5, 20);
当您创建 JtextArea 时,请使用上述代码。这将允许文本区域确定其自己的首选大小。然后,当您添加超过 5 行文本时,就会出现滚动条。
阅读 How to Use Text Areas 上的 Swing 教程部分,了解更多信息和工作示例。为所有 Swing 基础知识准备一份 link 教程。
仅供参考,
如果文本区域有多行,滚动条默认滚动到文本区域的末尾。要使文本区域中的行保持换行并将滚动条保持在文本区域的顶部,以下代码将有所帮助
textArea .setWrapStyleWord(true);
textArea .setLineWrap(true);
DefaultCaret caret = (DefaultCaret) textArea .getCaret();
caret.setUpdatePolicy(DefaultCaret.NEVER_UPDATE);