java - 如何将 JScrollPane 与 JTextArea 一起使用?

标签 java swing user-interface jscrollpane jtextarea

这段代码是我写的。在这里,我想让 JScrollPane 与 JTextArea 一起使用。但它根本不起作用。早些时候我几乎做了同样的事情。它曾经有效。请提供解决方案。提前致谢。我已经发布了代码。

    protected void startServerProcess(int port) {
    serverFrame = new JFrame("SERVER NOTIFICATIONS PANEL | Labyrinth Developers");
    serverFrame.setSize(500, 500);
    serverFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    serverFrame.setLocationByPlatform(true);
    serverFrame.setLocationRelativeTo(null);
    serverFrame.setVisible(true);

    notificationsTA = new JTextArea();
    notificationsTA.setBounds(0,0,466,500);
    notificationsTA.setLineWrap(true);
    notificationsTA.setRows(1000);

    notificationsSP = new JScrollPane();
    notificationsSP.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
    notificationsSP.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
    notificationsSP.setViewportView(notificationsTA);
    notificationsSP.setWheelScrollingEnabled(true);
    notificationsSP.setBounds(470, 0, 30, 500);

    serverFrame.add(notificationsTA);
    serverFrame.add(notificationsSP);
}

最佳答案

JTextArea 已添加到 JScrollPane 中,因此无需在 JFrame 中再次添加它。删除以下行:

serverFrame.add(notificationsTA);

您可以使用其 Constructor 将组件添加到滚动 Pane 的视口(viewport)中以及内部调用 JScrollPane#setViewport()方法。

notificationsSP = new JScrollPane(notificationsTA);
<小时/>

一些要点:

关于java - 如何将 JScrollPane 与 JTextArea 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24095964/

相关文章:

java - 专用方法与使用枚举作为附加参数

java - 创建一个简单的 "shopping cart"程序

java - @Transactional 继续异常处理

java - JTextField问题

java - 减少 Swing 中 JWebBrowser 的重叠

java - ArrayList 内容到 JLabel

java - 两次模拟相同的语句

java - 启用 Java Swing 日志记录( key 分配)

java - 在正确的窗口中创建 GUI

java - Web 界面或图形用户界面