Word wrap on scrolling textPane

Hi,
How do I turn the word wrap off on a textPane so I can have a scrollable continuous string?
Thanks
Andy

Having read different posts on this forum I have determined that there are two ways to turn line wrapping off:
1) add the JTextPane to the center of a JPanel using the BorderLayout
2) override the getScrollableTracksViewportWidth() method ot JTextPane. (after testing I determined it was sometimes necessary to also override the setSize() method as well. )
Here is my sample program showing the two approaches.
import java.awt.*;
import javax.swing.*;
import javax.swing.text.*;
public class TestNoWrap extends JFrame
     JTextPane textPane;
     JScrollPane scrollPane;
     public TestNoWrap()
          JPanel panel = new JPanel();
          panel.setLayout( new BorderLayout() );
          setContentPane( panel );
          // no wrap by adding a text pane to a panel first
          textPane = new JTextPane();
          textPane.setText("1234567890 1234567890 1234567890");
          JPanel noWrapPanel = new JPanel();
          noWrapPanel.setLayout( new BorderLayout() );
          noWrapPanel.add( textPane );
          scrollPane = new JScrollPane( noWrapPanel );
          scrollPane.setPreferredSize( new Dimension( 200, 100 ) );
          panel.add( scrollPane, BorderLayout.NORTH );
          // no wrap by overriding text pane methods
          textPane = new JTextPane()
               public void setSize(Dimension d)
                    if (d.width < getParent().getSize().width)
                         d.width = getParent().getSize().width;
                    super.setSize(d);
               public boolean getScrollableTracksViewportWidth()
                    return false;
          textPane.setText("1234567890 1234567890 1234567890");
          scrollPane = new JScrollPane( textPane );
          scrollPane.setPreferredSize( new Dimension( 200, 100 ) );
          panel.add( scrollPane );
     public static void main(String[] args)
          TestNoWrap frame = new TestNoWrap();
          frame.setDefaultCloseOperation( EXIT_ON_CLOSE );
          frame.pack();
          frame.setVisible(true);

Similar Messages

  • Force word wrap in JTextPane (using HTMLEditorKit)

    Hi!
    I have a JTextPane on a JScrollPane inside a JPanel. My text pane is using HTMLEditorKit.
    I set the scrolling policies of my JScrollPane to: JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED & JScrollPane.HORIZONTAL_SCROLLBAR_NEVER.
    I did not find in JTextPane�s API any relevant property I can control word-wrapping with (similar to JTextArea�s setLineWrap) and I have tried a few things to force word-wrapping but nothing worked...
    What happens is my text is NOT being wrapped (even though there is no horizontal scrolling) and typed characters (it is an enabled editable text componenet) are being added to the same long line�
    I�d like to force word-wrapping (always) using the vertical scroll bar whenever the texts extends for more then one (wrapped) line.
    Any ideas?
    Thanks!!
    Message was edited by:
    io1

    Your suggestion of using the example only holds if it fits the requirements of the featureDid your questions state anywhere what your requirement was?
    You first questions said you had a problem, so I gave you a solution
    You next posting stated what your where currently doing, but it didn't say it was a requirement to do it that way. So again I suggested you change your code to match the working example.
    Finally on your third posting you state you have some server related issues causing the requirement which I did not know about in my first two postings.
    State your problem and special requirments up front so we don't waste time quessing.
    I've used code like this and it wraps fine:
    JTextPane textPane = new JTextPane();
    textPane.setContentType( "text/html" );
    HTMLEditorKit editorKit = (HTMLEditorKit)textPane.getEditorKit();
    HTMLDocument doc = (HTMLDocument)textPane.getDocument();
    textPane.setText( "<html><body>some long text ...</body></html>" );
    JScrollPane scrollPane = new JScrollPane( textPane );If you need further help then you need to create a [url http://homepage1.nifty.com/algafield/sscce.html]Short, Self Contained, Compilable and Executable, Example Program (SSCCE) that demonstrates the incorrect behaviour, because I can't guess exactly what you are doing based on the information provided.
    And don't forget to use the [url http://forum.java.sun.com/help.jspa?sec=formatting]Code Formatting Tags so the code retains its original formatting.

  • AWT only canvas - styled text, images, word wrap and url posting.. how???

    Wassup people!
    Ive created a java chat client which uses the JTextPane to post messeges, emoticons and styled text. But the main problem here is that the majority of web browsers only support awt. Telling the users to download the latest jre with swing is long and most would rather go to another site, so i have reprogrammed the whole client in awt apart from the textpane. I now face the problem of creating a canvas that supports styled text, images, word wrap and url posting.
    I am only a beginner in java and the initial client was quite easy to do using swing, but to program an efficient canvas that supports this has proved to be quite challenging. would anyone beable to show me the best way of doing this? or refer me onto a library that already supports this? or is there even an awt version of the JTextPane somewhere which would save alot of time? any help would be most appreciated.
    Thanks

    I've seen a few APIs that are 100% pure java in 1.1 that implement a styled text area. They aren't free though and I'm pretty sure someone made some money off of the fact that java 1.1 didn't implement a styled text area.
    I understand the problem you are having. Before the days of swing styled text was something you wished you had. Just so you know, there is no easy way of doing this. You could always paint it yourself with a canvas in a scroll pane but then you get to the point where, unless you did some serious mouse handling, highlighting text becomes very difficult.

  • Looking for a word processor without word wrap, text edit doesn't cut it

    I'm looking for a word processor without word wrap, text edit doesn't work. In text edit, it automatically scoots my text over to the next line but I just want it to keep going with a horizontal scrollbar. Is there a text editor I can download from the app store or can I get textedit to work somehow where it uses a horizontal scroll bar instead of entering text to the next line?

    Hi,
    thought TextWrangler can do it.
    But it seems that the 'no word-wrap' "feature" isn't that much wanted anymore.
    Maybe one of these http://www.macupdate.com/find/mac/text%20editor can do it.
    Regards
    Stefan

  • JEdtiorPane/HTMLEditorKit word wrapping problems

    Hi,
    I have a JFrame component that has a splitPane, on the left side is a JTree and the right side has a JEditorPane that has it's content updated with HTML using a method to generate the HTML via the setText() method . (no url, and no html file)
    The searching I did indicates that word wrapping is the default behavior, and I saw a lot of posts from people trying to get rid of the word wrapping, but it isn't wrapping at all for me. I get the horizontal scroll bar.
    I had the same problem using a JTextPane...anyone know how to wrap text?
    here's the relevant code:
    descriptionPanel = new JPanel(new BorderLayout());
              descriptionEditorPane = new JEditorPane();
              HTMLEditorKit htmlEditorKit = new HTMLEditorKit();
              descriptionEditorPane.setEditorKit(htmlEditorKit);
              descriptionEditorPane.setSize(new Dimension(610,800));
              descriptionEditorPane.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
              descriptionPanel.add(descriptionEditorPane);

    Did you place the components into scroll panes and then put those into the split pane?
    If so, then I guess that calling setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER) on the editor pane's scroll pane might solve your problem.

  • Prob with fixed column widths and word wrapping in viewer

    i have a report where each record has a very long paragraph of text in it.
    In desktop and plus, the text column is at a fixed width and the text just wraps nicely according to the column width.
    But in Viewer, the column widths do not stay fixed, the text does not wrap, and the long text is displayed in a single line that completely stretches the column width off the page and requires a horizontal scroll bar.
    is there anyway to fix the column width in viewer, have the text naturally wrap, and prevent the column stretching. All word wrapping settings are on, but seem to have no effect. I can't seem to find any solution to this.
    Thanks...

    Hi Pritam,
    Per my understanding that you can't see the vertical scrollbar of the ReportViewer controls 2012 to scroll for the grid rows, but can see the vertical scrollbar of the web application, you also can't fix the headers while scrolling, right?
    I have tested on my local environment and can't reproduce your issue, but you have an alternative way to add some css  to the web form's source code to display the vertical scrollbar.
    Details information below for your reference:
    Please check below properties setting of the reportviewer which control the visibility of the scrollbar:
    AsyncRendering="true"
    SizeToReportContent="false"
    Please check if this problem also occur on other version of IE and other type of browser.
    Please check if you have done correct setting of the Fix data to freeze the table header as the step of below:
    http://technet.microsoft.com/en-us/library/bb934257(v=sql.100).aspx
    If step1 doesn't work, please click the source of webform.aspx and add below CSS to add the vertical scrollbar manually:
    #ReportViewer1 {
              overflow-y: scroll;
    Run the application you will see it display as below:
    Similar thread for your reference:
    https://social.msdn.microsoft.com/forums/sqlserver/en-US/f96b3b56-e920-411b-82ea-40467c922e66/reportviewer-control-vertical-scroll-bars
    If you still have any problem, please feel free to ask.
    Regards
    Vicky Liu

  • Word Wrap in JTextPane

    I'm working with just a JTextPane, no JScrollPane around it or anything.
    I would like the JTextPane to use word wrap, but it looks like by default it does not. I looked through some API stuff and tutorials and found nothing on the subject.
    The code is trivial and pointless to post right now. All I dd was make a JTextPane via new JTextPane() (no arguments or anything) and type in it enough to see if it word wrapped and it didn't.
    Is there a way to enable word wrap on JTextPanes?

    no JScrollPane around it or anything.The scroll pane forces the wrapping because it enforces the width limit. Otherwise there is no limit.
    You can use setPreferredSize(...) to force the width, but then that also restricts the height.
    Reply 6 of this posting may give you some ideas.

  • Word wrapping incorrect inside JTextPane on MAC 0.5/10.4 and Linux OS

    Hello java-dev team,
    In my application, I am using JTextPane as a text editor to create RTF text. The problem I observed with the JTextPane on MAC OS and Linux OS flavors (I tested on Ubuntu 8.04) is: whenever I am changing any of the text property (font color, font name, font style like bold, italic or underline) and then enter the characters without providing space, the whole word gets wrapped to the next line from the point where exactly the property change starts i.e. the new formatted text is jumped to the next line from the starting point of formatting.
    My requirement is, as I am not adding any space character while changing the property, the characters should be entered in the sequence and should come to new line as per normal word-wrap rule.
    Can anybody help me out in this regards with some solution as it’s a very urgent requirement?
    Below I am also providing the sample code to check the behavior. There is no dynamic facility to change the property in the below code but I am providing the text with multiple formatting settings through code itself. To reproduce the above issue, just type the characters using keyboard in between characters with changed text properties and you can see the whole word jumping to new line.
    import java.awt.Dimension;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTextPane;
    import javax.swing.text.MutableAttributeSet;
    import javax.swing.text.SimpleAttributeSet;
    import javax.swing.text.StyleConstants;
    import javax.swing.text.StyledDocument;
    import javax.swing.text.StyledEditorKit;
    public class TestWrapping {
         JScrollPane scroll;
         JTextPane edit;
         public TestWrapping()  throws Exception {
              final JFrame frame=new JFrame();
              frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              edit=new JTextPane()
                   public void setSize(Dimension d)
                        if (d.width < getParent().getSize().width)
                             d.width = getParent().getSize().width;
                        super.setSize(d);
                   public boolean getScrollableTracksViewportWidth()
                        return false;
              edit.setPreferredSize(new Dimension(150,150));
              edit.setSize(150,150);
              edit.setEditorKit(new StyledEditorKit());
              scroll=new JScrollPane(edit);
              edit.getDocument().insertString(0,"11111111111111222222222222222222222222222222222222222",null);
              MutableAttributeSet attrs=new SimpleAttributeSet();
              StyleConstants.setBold(attrs,true);
              ((StyledDocument)edit.getDocument()).setCharacterAttributes(30,5,attrs,false);
              StyleConstants.setUnderline(attrs,true);
              ((StyledDocument)edit.getDocument()).setCharacterAttributes(35,5,attrs,false);
              StyleConstants.setFontSize(attrs,25);
              ((StyledDocument)edit.getDocument()).setCharacterAttributes(40,5,attrs,false);
              frame.getContentPane().add(scroll);
              frame.setBounds(0,0,150,150);
              frame.show();
         public static void main(String[] args) throws Exception {
              new TestWrapping();
    }The same functionality works fine on Windows XP and problem is observed on MAC OS 10.4/10.5, Ubuntu 8.04. I am using jdk1.5 on both the platforms. I tested using jdk 6.0 on Ubuntu 8.04, and the problem is easily reproducible. I placed a query in the respective OS forums also but did not receive any replies. I also searched the sun’s bug database, but could not find any bug addressing the mentioned problem correctly. I also logged issue at bugs.sun.com and was assigned internal review ID of 1480019 for this problem.
    If you need any additional information, please let me know.
    Thanks in advance.
    Regards,
    VPKVL

    VPKVL wrote:
    Hi All,
    Just want to update that when I checked this issue with JDK1.6 on Ubuntu 8.04, I am unable to reproduce the issue. Everything works as expected. But problem continues on MAC 10.5. So can anybody help me out in coming out of this issue on MAC 10.5.
    Thanks in advance.The only thing I can suggest is that you open a bug (radar) with apple ( developer.apple.com ), and then wait at least 12 months for Apple to get around to fixing it :s

  • Word wrap in JList

    I was wondering if I can do a word wrap with JLists.
    I have this so far.
    JList pizza;
    DefaultListModel listPizza;
    JScrollPane scrollPizza;
    listPizza = new DefaultListModel();
    pizza = new JList(listPizza);
    scrollPizza = new JScrollPane(pizza);
    This will let me scroll horizontally if the text becomes longer than the screen, but I want it to wrap around the screen. I only want to it to scroll vertically.

    In the future, swing questions should be posted in the swing forum.
    If I recall correctly, you can do this by making a custom CellRenderer for your JList which uses a JTextArea to do the rendering. Search the swing forum or look at the sun java tutorial for custom renderers.

  • JLabel Word Wrap

    I'm building a simple chat application to work on my network programming skills. I ran into an issue that I can't quite find a solution to.
    I Have a JPanel inside of a JScrollPane, and inside of it JLabels with the messages received are added as they come. I would like the JLabels to wrap the text after it reaches a certain width. Here's the testing code I'm using for this:
    import java.awt.*;
    import javax.swing.*;
    class ChatBody {
         public static Container createChatBody() {
              JPanel body = new JPanel(new GridBagLayout());
              GridBagConstraints c = new GridBagConstraints();
              c.fill = GridBagConstraints.BOTH;
              c.weightx = 1.0;
              c.weighty = 1.0;
              JPanel messages = new JPanel();
              JScrollPane messagesPane = new JScrollPane(messages);
              messagesPane.setPreferredSize(new Dimension(608, 478));
              messagesPane.setBorder(BorderFactory.createLineBorder(Color.black));
              messagesPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
              JLabel messageOne = new JLabel("This is a label that I'm going to make really long to test the wrapping abilities of a JLabel/JPanel/JScrollPane. This needs to be really long so it will reach the end of the scroll pane and *hopefully* wrap on it's own, so I won't have to do any work =D");
              messages.add(messageOne);
              c.gridx = 0;
              c.gridy = 0;
              body.add(messagesPane, c);
              return body;
    }Please note I took some irrelevant code out.
    Is there a method or something to make JLabels word wrap? Or will I have to be creative and make something up?
    Edit: I don't know if this is relevant, but this is the class with the main() method:
    import java.awt.*;
    import javax.swing.*;
    class JavaChat {
         public static void createChatWindow() {
              JFrame frame = new JFrame("Java Chat");
              frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              frame.setMinimumSize(new Dimension(800, 600));
              //frame.setJMenuBar();
              frame.getContentPane().add(ChatBody.createChatBody());
              frame.pack();
              frame.setVisible(true);
         public static void main(String args[]) {
              SwingUtilities.invokeLater(new Runnable() {
                   public void run() {
                        createChatWindow();
    }That's needed for anyone that needs to compile my code for some reason.
    Edited by: shadowayex on Dec 24, 2009 1:47 PM

    Wrapping is not support in a JLabel.
    Most people would use either a JTextArea or JTextPane which do support wrapping.

  • Word wrap with JScrollPane

    Quick question. Trying to get word wrap in a JTextField
    using JSrollPane. Below is a small snippet of code
    from my program...
    displayArea = new JTextArea ( );
    JScrollPane scroll = new JScrollPane ( displayArea,
       JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
       JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); Doesn't using JScrollPane.HORIZONTAL_SCROLLBAR_NEVER automatically
    introduce word wrap? I'm not getting it in my program. Somebody please correct me. Thanks!

    displayArea.setLineWrap (true);
    displayArea.setWrapStyleWord (true);I thought it wasn't added automatic.
    Kind regards,
      Levi

  • Word wrap in multiline text

    JDeveloper 11.1.2.0.0
    We have a description that is shown in the UI. The width of the component is fixed and is shown in multi-lines.
    How can we show the text in multiline with word wrapping?
    Thanks in advance,
    Navaneeth

    Did you simply try an <af:outputText>? That's all it needs. This will wrap just fine without any extra work:
    <af:panelGroupLayout id="pgl1" layout="scroll" inlineStyle="width:400px;">
    <af:outputText value="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed a justo sem, tincidunt consequat ante. Cras eros nunc, ornare ut congue quis, fringilla vel diam. Sed quis massa non libero laoreet suscipit sit amet eget leo. Pellentesque gravida leo a diam dapibus placerat porta lorem blandit. Maecenas id odio vitae nulla consequat blandit." id="ot2"/>
    </af:panelGroupLayout>

  • Word wrap in jtable cell?

    Can there be some sort of "word wrap" whithin the individual cells
    of a jtable

    If you use something like a JTextArea for a cell renderer then it will be able to wrap the text for you.
    You can also use a JTextArea in a JScrollPane but will need to implement a corresponding editor to get it to respond to scroll gestures.
    If you want to get the table to choose a sensible height for the row then it will get a bit trickier!
    Let me know if you'd like to know more about how to go about doing some of this.
    Hope this helps.

  • How to  word wrap the Print from JEditorPane correctly to a print page?

    Hi,
    I'm trying to print text from the JEditorPane. However the printout does not word wrap and some gets cutoff. Is there a way to set the word wrap when printing?
    Thanks for you help.

    Some of my Hotmail emails are not word wrapping properly. Partial word wrapping is done,but each sentence requires the use of the scroll bar to reach the end.
    Other emails are normal.I opened Hotmail in IE9,and the same email wraps normally.I have FF 9.0.1 running on Win7 Home Premium.

  • TextArea & word wrapping

    How does one word wrap in TextArea?

    RTFA
    The java.awt.TextArea has the ability to do line wrapping. This was controlled by the horizontal scrolling policy. Since scrolling is not done by JTextArea directly, backward compatibility must be provided another way. JTextArea has a bound property for line wrapping that controls whether or not it will wrap lines. By default, the line wrapping property is set to false (not wrapped).

Maybe you are looking for