java - 如何强制 JTextPane 不转到下一行?

标签 java swing jtextpane

我需要使用 JTextPane 作为 JTextField。当文本到达其边框时,我的 JTextPane 会转到新行,但我希望它继续第一行并且不转到下一行。 如何做到这一点?

最佳答案

有点脏,但是:

JTextPane textPane = new JTextPane ()
{
    @Override
    public Dimension getPreferredSize ()
    {
        Dimension size = super.getPreferredSize ();
        size.width = 1000000;
        return size;
    }

    @Override
    public Dimension getMaximumSize ()
    {
        Dimension size = super.getMaximumSize ();
        size.width = 1000000;
        return size;
    }

    @Override
    public Dimension getPreferredScrollableViewportSize ()
    {
        return super.getPreferredSize ();
    }

    @Override
    public boolean getScrollableTracksViewportWidth ()
    {
        return false;
    }
};

JFrame frame = new JFrame ();
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
frame.getContentPane ().setLayout (new BorderLayout ());
frame.getContentPane ().add (
    new JScrollPane (textPane, JScrollPane.VERTICAL_SCROLLBAR_NEVER, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER), BorderLayout.CENTER);
frame.pack ();
frame.setVisible (true);

您还需要以某种方式阻止用户输入换行符。

关于java - 如何强制 JTextPane 不转到下一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14737128/

相关文章:

java - 无法转换 java.lang.Boolean 类型的对象

java - 如何使用线程异步在java中运行命令行

java - Border 内的 JComboBox 导致 IllegalComponentStateException

java - 如何使用cardlayout实现标签的鼠标事件

java - 第 2 部分 - 如何在缩放 JTextPane 时获得一致的呈现?

java - 使用字符密码 Java 返回正确代码时出现问题

java - 如何在javascript中访问java包

java - JPanel 上的内置浏览器

java - 如何让JComboBox出现在JFrame中?

java - 在 JTextArea 或 JTextPane 中设置文本样式