java - JTextPane 中没有滚动条

标签 java swing jtextpane

我没有得到垂直滚动条。滚动JTextPane。 我正在使用 JPanel 显示 JScrollPane 内部的 JTextPane。 这是代码。请查看。 谢谢。

these is the image of output i am getting.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class TestWithHtml
{
    JTextPane textpane;
    JPanel panel;
    JFrame frame;
    JScrollPane scrollpane;

    TestWithHtml()
    {
        frame = new JFrame("Text With HTML");
        frame.setSize(200,300);

        panel = new JPanel(new BorderLayout());
        panel.setBounds(0,0,200,300);

        textpane = new JTextPane();
        Dimension size = new Dimension(200,300);
        //frame.getContentPane()
        scrollpane = new JScrollPane(textpane);
        panel.add(scrollpane, BorderLayout.CENTER);
        textpane.setSize(size);
        scrollpanel.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

        panel.add(textpane);
        frame.add(panel);
        textpane.setEditable(false);
        textpane.setContentType("text/html");
        textpane.setText("<b> hry </b>");
        textpane.setText("<p><b>Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. </b></p>");

        frame.setVisible(true);
    }

    public static void main(String args[])
    {
        new TestWithHtml();
    }
}

最佳答案

scrollpane = new JScrollPane(textpane);
panel.add(scrollpane, BorderLayout.CENTER);
textpane.setSize(size);
scrollpane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
panel.add(textpane);
frame.add(panel);

您使用正确的文本 Pane 创建了滚动 Pane 。

但随后您将文本 Pane 添加到面板中。这不起作用,因为组件只能有一个父组件,因此文本 Pane 将从滚动 Pane 中删除。

因此,去掉面板,只需将滚动 Pane 添加到框架中即可。

此外,不需要 setSize(...),因为滚动 Pane 的布局管理器将确定文本 Pane 的大小。

所以你的基本代码应该是:

scrollpane = new JScrollPane(textpane);
scrollpane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
frame.add(scrollpane);

关于java - JTextPane 中没有滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42630550/

相关文章:

java - EJB - 注入(inject) bean 时出现 NullpointerException

java - JPanel 在绘制图像时显示奇怪的错误

java - JTextPane - 获取组件值

java - 应用 DefaultHighlighter.DefaultHighlightPainter 时如何更改 JTextPane 中的文本选择颜色?

java - 使用 JTextPane 显示部分数据并通过工具提示进行休息

java - Runtime.getRuntime().exec(String[]) 安全

java - 在 1 个应用程序内进行两次 Facebook 登录,都将我重定向到同一页面(每次成功登录后,两次登录都会强制将我带到主页 Activity )

Java:使用多个线程同时在 JPanel 上绘制

java - 显示 GUI 的问题

java - 采用良好实践的基于开源 swing 的应用程序