在任何事情之前,可能有一些人已经问过这个问题。然而,我确信我不能搜索它。总之,我有一个scrollPane,它有一个viewPortView of textArea。我的问题是,当我在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);谢谢你的帮助!
发布于 2016-05-03 14:55:46
我的问题是,当我在textArea中插入许多组件时,我想显示我的滚动窗格。
文本区域显示文本,而不是组件。当您实际向文本区域添加文本时,滚动条将自动显示。
textArea.setBounds(0,50,520,550);不要使用setBounds。Swing被设计用于布局管理器。特别是,只有在使用布局管理器时,JScrollPane才能正常工作。
//textArea = new JTextArea();
textArea = new JTextArea(5, 20);当您创建一个JtextArea时,请使用上面的代码。这将允许文本区域确定自己的首选大小。然后,一旦添加超过5行文本,滚动条就会出现。
有关更多信息和工作示例,请参阅有关如何使用文本区域的Swing教程中的部分。为所有的Swing基础知识保留一个教程的链接。
发布于 2016-05-04 01:25:05
只是为了了解情况,
如果文本区域中有多行,则滚动条默认滚动到文本区域的末尾。若要将文本区域中的行包装并滚动到文本区域的顶部,下面的代码将有所帮助。
textArea .setWrapStyleWord(true);
textArea .setLineWrap(true);
DefaultCaret caret = (DefaultCaret) textArea .getCaret();
caret.setUpdatePolicy(DefaultCaret.NEVER_UPDATE);https://stackoverflow.com/questions/37007222
复制相似问题