【发布时间】:2014-03-22 17:45:55
【问题描述】:
我对 JTextArea 如何处理换行符感到有些困惑。我在 JScrollPane 对象中有一个 JTextArea。
JScrollPane scrollPane4 = new JScrollPane();
scrollPane4.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
scrollPane4.setBounds(66, 155, 474, 133);
getContentPane().add(scrollPane4);
postingArea = new JTextArea();
postingArea.setMaximumSize(new Dimension(470, 200));
postingArea.setLineWrap(true);
postingArea.setBorder(border);
postingArea.setLineWrap(true);
postingArea.setWrapStyleWord(true);
scrollPane4.setViewportView(postingArea);
文本区域用于收集用户的输入并发布到 SQL 数据库。该字符串可以从数据库中读取,并在其他时间重新显示在单独的网页上。当用户输入文本时,该行会换行,但是,输入到数据库中的是一个长字符串。因此,重新显示的是一个带有水平滚动条的长字符串。有没有办法让我通过事件处理程序在文本中的适当位置添加换行符?或者,我是否只是通知用户在他们想要换行时按“Enter”?
【问题讨论】:
-
不要在 layoutManagers 中使用
setBounds依赖,我会使用另一个带有rows和columns的 JTextArea 构造函数 -
@nachokk 但是,您的建议是否解决了我遇到的问题。或者,这是您的偏好吗?
-
scrollPane4.setBounds(66, 155, 474, 133);Java GUI 可能必须在多个平台、不同的屏幕分辨率和使用不同的 PLAF 上工作。因此,它们不利于组件的精确放置。要组织组件以获得强大的 GUI,请改为使用布局管理器或 combinations of them,以及 white space 的布局填充和边框。在您问“或者,这是您的偏好吗?” 再次阅读粗体部分。
标签: java swing newline jscrollpane jtextarea