0

当文本到达其边界时,我需要使用 aJTextPane作为JTextField.JTextPane的换行符,但我希望它继续第一行而不是下一行。怎么做?

4

1 回答 1

1

有点脏,但是:

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);

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

于 2013-02-06T19:27:49.417 回答