Horizontal scrollbars with a JTextPane component

Hi all
I use a JTextPane which is, in turn embedded in a JScrollPane. In some cases, text appended might be longer than the current width of the window. In this case, I would like the JTextPane to show the scrollbars (Policy set to "show when needed") instead of wrapping the text line. How can this be done?
Regards,
Michael
PS: The text is represented by a DefaultStyledDocument.

Hi there
I don't think that's the problem. The JTextPane is already to the ScrollPane and the ScrollPane is in turn added to aJPanel. That works so far.
I think the problem (probably) has to do with the JTextPane (guess). In a similar case, i use a JTextArea and here it works ok (i.e. provides the scrollbars and not wrap the text).
To illustrate, here's the code that does that:
---<snip>---
JInternalFrame dashboardOutputFrame = new JInternalFrame();
DefaultStyledDocument dashboardOutputDocument = new DefaultStyledDocument();
JTextPane dashboardOutputEditor = new JTextPane(dashboardOutputDocument);
JScrollPane sp = new JScrollPane();
BorderLayout l = new BorderLayout();
dashboardOutputFrame.setTitle("Standard Output Window");
dashboardOutputFrame.setSize(600, 300);
dashboardOutputFrame.setLocation(20, 20);
dashboardOutputFrame.setClosable(false);
dashboardOutputFrame.setFrameIcon(personIcon16);
dashboardOutputFrame.setIconifiable(true);
dashboardOutputFrame.setMaximizable(true);
dashboardOutputFrame.setResizable(true);
dashboardOutputFrame.getContentPane().setLayout(l);
sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
sp.setViewportView(dashboardOutputEditor);
dashboardOutputFrame.getContentPane().add(sp, BorderLayout.CENTER);Cheers,
M.

Similar Messages

  • Horizontal Scrollbar in a JTextPane

    How can I specify whether or not there is a horizontal scrollbar for a JTextPane? The JTextPane is held within a JScrollPane, but if I try and do:
    scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
    I just end up with a pointless scrollbar on the JScrollPane which doesn't do anything, because the text in the JTextPane still wraps onto the next line.
    Any ideas?
    Thank-you.

    Use this code to cancel the line wrapping of the text pane.
    JTextPane textPane = new JTextPane() {
        public boolean getScrollableTracksViewportWidth() {
            return false;
        public void setSize(Dimension d) {
            if (d.width < getParent().getSize().width)
                d.width = getParent().getSize().width;    
            super.setSize(d);
    };

  • How can I create a horizontal scrollbar with a centered thumb that scrolls content from both sides?

    I am having trouble figuring out how to create a horizontal scrollbar component either by itself or nested inside a data list component that will have it's thumb centered in the track when running and reveal content from either the right or left side when the thumb is moved. The furthest I have managed to get is to create a data list component with a scrollbar component inside that has a centered thumb that reveals content from the right side of the list (0 through 10 of the items) but only reveals blank area when tracking the other way. Is there a way to create say… negative items in the data list… 0 through -10? Or am I approaching this the wrong way. Please help. Thanks.

    Mykola,
    Thanks. I guess I was hoping for an answer that addressed my question from a designer's point of view rather than a developers'. As a designer with over ten years experience using Adobe products for print work it is difficult to understand why "centered" is such a complicated concept when designing art for use on the web. It is so frustrating to realize that most containers for images and text can only be resized by pushing and pulling handles located on the right and bottom; Catalyst seems like a great start but if Adobe really wanted to impress the "design" community it might consider putting all that supercharged code underneath the hood of some more familiar "design" tools. Maybe a "catalytic converter" would allow the introduction of a "centered" tool for every element.
    After all, why is it literally twenty-five times more difficult, requiring the use of three additional programs to create a component that functions exactly like a typical data list and scroll bar with the exception that the thumb is "centered" on the track and reveals images from both the right and left. For that matter why not also have as an option a thumb that snaps to the bottom of the track and reveals images from the top… and one that snaps to the right and reveals images from the left when you run the project? It just seems so logical to expand the scroll bar component to include these options.
    I am very glad to have Catalyst and will redesign my project to fit within the constraints of the tools available in the program but it seems that if Adobe is really serious about Catalyst being a window into the world of web design for designers/AD's that perhaps it might benefit by focusing on what might improve the program from the designer's point of view. I hate to say it but the Catalyst forum is already rife with answers to questions that are riddled with code… Literally. And to be honest most designers don't have the time to decipher that code. As a designer I work regularly and have a deep understanding of Photoshop, InDesign, Illustrator, Acrobat Pro, Final Cut Pro, Final Draft and modo. I do hi-res assembly, retouching, design and layout, identity, production, 3D modeling and rendering, video editing… and before I switch to using Catalyst for web mock-ups I am going to need a more "designer" friendly set of tools and definitely a "centered" control.
    I really think Adobe is fantastic. But I also think it could take a lesson from a great little company called Luxology. I tried learning 3D modeling and rendering for years with programs like Lightwave, Maya and others, always with mixed results. Then Luxology came along and actually delivered on their promise to create a 3D program for artists. What was the factor that made all the difference? Well, besides the Apple award winning interface and sets of tools it was the training available on their sight. The program itself ships with thirty-six hours of quicktime movies. And hundreds more hours available for download. I have never yet not been able to quickly and easily find an answer to a question I had about how to accomplish something in modo. You know how long I have already spent on Adobe TV searching through videos and on the Catalyst forum searching through topics trying to get an answer to what I thought was a very simple question? Way too many. If I have a question about a Luxology product that I can't find the answer to do you know what I do? I call Brad Peebler, the President of Luxology. I'm not special nor do I work for some special development house with special privileges that is simply their policy. And that policy has paid big dividends. Both ILM and Pixar has licensed their technology.
    Well… I apologize for this long response but I really think that if Catalyst is going to attract the market it wants that it will have to consider putting some designers on the development team. After all… Isn't that what the promo videos tout… Finally a web design program for designers. Well, I guess we'll see.
    Karl

  • Scrollbars on a JTextPane

    How can I specify whether or not there is a horizontal scrollbar for a JTextPane? The JTextPane is held within a JScrollPane, but if I try and do:
    scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);I just end up with a pointless scrollbar on the JScrollPane which doesn't do anything, because the text in the JTextPane still wraps onto the next line.
    Any ideas?
    Thank-you.

    Isn't this a Swing question? You should post them in the Swing forum.

  • Stacked canvas with horizontal scrollbar

    Hi,
    In a forms module I want to show a stacked canvas with a horizontal scrollbar. I have set the generator preference POPHSB on every level to yes, but the stacked canvas is still generated without scrollbar. In the Designer help topic "Generated stacked canvas properties" it is stated that the properties horizontal/vertical scrollbar is derived from the object library. But how can I set in Designer the name of an object library object for a stacked canvas? I don't want to override the object CGSO$CANVAS_POPUP because I also have other stacked canvases that doesn't need scrollbars.
    Regards,
    Vincent Botteman

    Hi,
    This is what I just have found: you must indeed create a new canvas object in the object library and then enter the name of the new canvas object in the property "Placement Template/Library Obj" of the first Module component on that canvas! Apparently, you can change the canvas by means of the first Module Component on that canvas.
    Regards,
    Vincent Botteman

  • How to set the extra component to horizontal scrollbar position

    How to set the component to position of horizontal scrollbar , that position contain two component horizontal scrollbar and any component (JButton , JLabel ) like that.. Ms-Word scrollbar ,
    Like that bellow fig.
    <!--[if !mso]>
    <style>
    v\:* {behavior:url(#default#VML);}
    o\:* {behavior:url(#default#VML);}
    w\:* {behavior:url(#default#VML);}
    .shape {behavior:url(#default#VML);}
    </style>
    <![endif]--><!--[if gte mso 9]><xml>
    <w:WordDocument>
    <w:View>Normal</w:View>
    <w:Zoom>0</w:Zoom>
    <w:PunctuationKerning/>
    <w:ValidateAgainstSchemas/>
    <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
    <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
    <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
    <w:Compatibility>
    <w:BreakWrappedTables/>
    <w:SnapToGridInCell/>
    <w:WrapTextWithPunct/>
    <w:UseAsianBreakRules/>
    <w:DontGrowAutofit/>
    </w:Compatibility>
    <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
    </w:WordDocument>
    </xml><![endif]--><!--[if gte mso 9]><xml>
    <w:LatentStyles DefLockedState="false" LatentStyleCount="156">
    </w:LatentStyles>
    </xml><![endif]-->
    <!--
    /* Style Definitions */
    p.MsoNormal, li.MsoNormal, div.MsoNormal
    {mso-style-parent:"";
    margin:0in;
    margin-bottom:.0001pt;
    mso-pagination:widow-orphan;
    font-size:12.0pt;
    font-family:"Times New Roman";
    mso-fareast-font-family:"Times New Roman";}
    @page Section1
    {size:8.5in 11.0in;
    margin:1.0in 1.25in 1.0in 1.25in;
    mso-header-margin:.5in;
    mso-footer-margin:.5in;
    mso-paper-source:0;}
    div.Section1
    {page:Section1;}
    -->
    <!--[if gte mso 10]>
    <style>
    /* Style Definitions */
    table.MsoNormalTable
    {mso-style-name:"Table Normal";
    mso-tstyle-rowband-size:0;
    mso-tstyle-colband-size:0;
    mso-style-noshow:yes;
    mso-style-parent:"";
    mso-padding-alt:0in 5.4pt 0in 5.4pt;
    mso-para-margin:0in;
    mso-para-margin-bottom:.0001pt;
    mso-pagination:widow-orphan;
    font-size:10.0pt;
    font-family:"Times New Roman";
    mso-ansi-language:#0400;
    mso-fareast-language:#0400;
    mso-bidi-language:#0400;}
    </style>
    <![endif]-->{font:'Times New Roman'}{size:12pt}<!--[if gte vml 1]><v:shapetype id="_x0000_t75"
    coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe"
    filled="f" stroked="f">
    <v:stroke joinstyle="miter"/>
    <v:formulas>
    <v:f eqn="if lineDrawn pixelLineWidth 0"/>
    <v:f eqn="sum @0 1 0"/>
    <v:f eqn="sum 0 0 @1"/>
    <v:f eqn="prod @2 1 2"/>
    <v:f eqn="prod @3 21600 pixelWidth"/>
    <v:f eqn="prod @3 21600 pixelHeight"/>
    <v:f eqn="sum @0 0 1"/>
    <v:f eqn="prod @6 1 2"/>
    <v:f eqn="prod @7 21600 pixelWidth"/>
    <v:f eqn="sum @8 21600 0"/>
    <v:f eqn="prod @7 21600 pixelHeight"/>
    <v:f eqn="sum @10 21600 0"/>
    </v:formulas>
    <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
    <o:lock v:ext="edit" aspectratio="t"/>
    </v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:453pt;
    height:26.25pt'>
    <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\04\clip_image001.png"
    o:title=""/>
    </v:shape><![endif]--><!--[if !vml]--><img src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/04/clip_image002.jpg" alt="" width="485" height="27" /><!--[endif]-->{size}{font}
    How to design ?

    pradeep.rajadurai wrote:
    I want set the JTable as a background of jframe or jinternalframe , how it is possible One way that may work, you can always extract the image from a rendered JTable and then paint the same image into the JPanel that holds your components via it's paintComponent method, then added the JPanel to the app's contentPane.
    give me simple pgmIs English your second language? Because if so, please understand that this demand can be taken by some as rude.

  • How to Add Horizontal scrollbar to JTextPane

    when i try to add Horizontal scrollbar to JTextPane it is not apperaing..plase help me..
    nagesh

    I tried in all ways
    1)HORIZONTAL_SCROLLBAR_ALWAYS and VERTICAL_SCROLLBAR_ALWAYS
    2)JTextPane textPane = new JTextPane();
    JScollPane scroller = new JScrollPane(textPane);
    or :
    3)JScollPane scroller = new JScrollPane(textPane, VERTICAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_ALWAYS);
    4)JScrollPane.setHorizontalScrollBarPolicy(
                   ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
                   JScrollPane.setVerticalScrollBarPolicy(
                   ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
    and also we tried to overwrite the setbounds also, but nothing is diplaying..

  • Probleme with an unwanted horizontal scrollbar

    Hi
    Link of reference : http://www.episodesoft.com/demo/index_fr.html
    I'm having a little difficulty with the horizontal scrollbar, i dont want it to appear since the website is designed for 1024x768 up to 2000, so obviously everything is adjusting itself depending of your viewscreen, So does the flash ( the menu and header ).
    However it is the flash that cause the scrolling on the right but not on the left ??? the browser automatiquely adjust the left portion of the flash and is not creating a scrollbar for that, however i cannot find a way so it manage the right portion the same way it do the right one.
    It is weird because before the header was not in flash but still 2000px and i didn't have that probleme with the CSS.
    For the flash there is no CSS but here is the code. Feel free to view the source of the webpage itself
    Any idea ?
    Thanks a lot !
    <div id="layer1" style="position:absolute; top:-10px; left:50%; margin-left:-1000px; width:2000px; height:580px; z-index:2">
    <table width="950" border="0" align="center" >
      <tr>
        <td align="center" valign="middle">
        <object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="2000" height="580">
          <param name="movie" value="Video/Menu.swf" />
          <param name="wmode" value="transparent">
          <param name="quality" value="high" />
          <param name="wmode" value="transparent" />
          <param name="swfversion" value="6.0.65.0" />
          <param name="expressinstall" value="Scripts/expressInstall.swf" />
          <param name="embed" value="wmode=&quot;transparent&quot;" />
          <param name="selectable" value="false" />
          <param name="border" value="0" />
          <param name="embed" value="border=&quot;0&quot;" />
         <object type="application/x-shockwave-flash" data="Video/Menu.swf" width="2000" height="580">
            <param name="quality" value="high" />
            <param name="wmode" value="transparent" />
            <param name="swfversion" value="6.0.65.0" />
            <param name="expressinstall" value="Scripts/expressInstall.swf" />
            <param name="embed" value="wmode=&quot;transparent&quot;" />
            <param name="selectable" value="false" />
            <param name="border" value="0" />
            <param name="embed" value="border=&quot;0&quot;" />
            <div>
              <h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
              <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" width="112" height="33" /></a></p>
            </div>
          </object>
          </object>
        </td>
      </tr>
    </table>
    </div>

    Herm oook.
    I just tryed to remove the margin-left:-1000px; however when i do that, the flash start in center of the viewscreen or will no longer auto center itself.
    The flash is in his own div and that div is above another div ( the content ).... so as long i put a background color in this one, it will cover all the website or the right side if i make one going from transparent to 100% on the right.
    Here is the whole code to help you
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Logiciel Épisode</title>
    <style type="text/css">
    #bottom {
    background-repeat:no-repeat;
    background-position: bottom;
    background-image: url(images/barre_bottom.png);
    height: 5px;
    #headinner  {
    background-position: center top;
    margin-top: 0px;
    margin-bottom: 0px;
    background-color: #F5F6F7;
    background-repeat: no-repeat;
    height: 95px;
    background-image: url(images/HeaderFR.png);
    body {
    background-color: #ffffff;
    margin-top: auto;
    margin-right: auto;
    margin-bottom: auto;
    margin-left: auto;
    background-image: url(images/fond.png);
    text-align: center;
    background-position: bottom;
    background-repeat: no-repeat;
    #Copyright {
    text-align: center;
    margin-bottom: 1px;
    margin-top: 1px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10pt;
    #layer2 #Layer2 tr td p {
    text-align: center;
    font-size: 36px;
    margin-top: 100px;
    <!-- margin-left: 30px;
    -->;
    </style>
    <script src="Scripts/swfobject_modified.js" type="text/javascript"></script>
    </head>
    <body>
    <!--<div id="headinner">
    INACTIVE HEADER  
    </div> -->
    <div id="layer1" style="position:absolute; top:-10px; margin-left:-1000px; left:50%; width:2000x; height:580px; z-index:2">
    <table width="950" border="0" align="center" >
      <tr>
        <td align="center" valign="middle">
        <object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="2000" height="580">
          <param name="movie" value="Video/Menu.swf" />
          <param name="wmode" value="transparent">
          <param name="quality" value="high" />
          <param name="wmode" value="transparent" />
          <param name="swfversion" value="6.0.65.0" />
          <param name="expressinstall" value="Scripts/expressInstall.swf" />
          <param name="embed" value="wmode=&quot;transparent&quot;" />
          <param name="selectable" value="false" />
          <param name="border" value="0" />
          <param name="embed" value="border=&quot;0&quot;" />
         <object type="application/x-shockwave-flash" data="Video/Menu.swf" width="2000" height="580">
            <param name="quality" value="high" />
            <param name="wmode" value="transparent" />
            <param name="swfversion" value="6.0.65.0" />
            <param name="expressinstall" value="Scripts/expressInstall.swf" />
            <param name="embed" value="wmode=&quot;transparent&quot;" />
            <param name="selectable" value="false" />
            <param name="border" value="0" />
            <param name="embed" value="border=&quot;0&quot;" />
            <div>
              <h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
              <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" width="112" height="33" /></a></p>
            </div>
          </object>
          </object>
        </td>
      </tr>
    </table>
    </div>
    <div id="layer2" style="margin-top:100px" >
    <table border="0" align="center" id="Layer2" name="Layer2">
      <tr>
        <td background="images/accueil_fond.png" width="1035" height="485" aling="right" ><img src="images/accueil2_4.png" width="950" height="485" align="left" valign="middle"/></a></td>
        </tr>
    </table>
    </div>
    <div id="bottom">
    </div>
    <p id="Copyright">© 2010 - Logiciel Episode Inc.</p>
    <table width="10" border="0" align="center">
      <tr>
        <td align="center" valign="middle"><a href="index_us.html" target="_self">English</a></td>
        <td align="center" valign="middle"><a href="index_fr.html" target="_self">Francais</a></td>
    <!--
        <td align="center" valign="middle"><p><a href="index_us.html" target="_self"><img src="images/Drapeau_US.png" width="25" height="15" border="0" align="absmiddle" /></a></p></td>
        <td align="center" valign="middle"><a href="index_fr.html" target="_self"><img src="images/Drapeau_fr.png" width="25" height="15" border="0" align="absmiddle" /></a></td>
    -->  </tr>
    </table>
    <script type="text/javascript">
    <!--
    swfobject.registerObject("FlashID");
    //-->
    </script>
    </body>
    </html>

  • Problem with the HORIZONTAL Scrollbar

    Someone (I thanks him) has explain me how to have a horizontal scrollbar in a JTable (I use setHorizontalScrollBarPolicy(...)).
    So, now I have my Horizontal scrollbar but ONLY de bar and NOT the "button" in the bar. So, I am not able to scroll (and for a scrollbar it looks stupid). I have tried also setHorizontalScrollBar(...) but that didn't change anything.

    1. Try calling setEnabled(true); on the scrollbar
    2. Check that you need to scroll. If efffectively the knob (as the API docs call it) is larger than the scrollbar, it probably won't be shown.

  • ADF selectmanylistbox with horizontal scrollbar

    <af:selectManyListbox value="#{tree.lstValus}" size="10" inlineStyle="width:260px">
    I have that, if I have more then values 10. a vertical scrollbar will be shown.But in case a value is larger then the selectmanylistbox no horizontal scrollbar shows up.
    If i remove the width, the selectmanylistbox horizontal size is based on length of longest value. But I dont want to remove the width, as it affects my page and style of my page.
    I just need to know how can i add horizontal scrollbar to af:selectmanylistbox

    Hi,
    don' t think you can add this. What's your JDeveloper release ?
    Frank

  • To disable the horizontal scrollbar and to create a next button to navigate

    To disable the horizontal scrollbar and to create a next button to navigate through the records. At present I create a JSF page and drag and drop my table view and then using the Tuning property I have limited the number of records to be shown. But I need to add a button and then code it to display the next few records. Can someone kindly suggest a suitable mechanism to get this accomplished.
    Edited by: 888970 on Oct 2, 2011 10:15 PM

    Hi Erp,
    At present these are the entries that I have in my JSPX page.
    I have a Table, Iterator and a Input List of Values. As per the scenario, I want a few rows to appear on the table for which I wanted to disable the horizontal scroll bar and then once I click on the list of values it must prompt me with the remaining page numbers.
    Earlier there are about 150 records in the table. I want to show them as 15 per page.
    For which I have added the Iterator and a LOV component code in my JSPX page.
    <af:iterator id="i1"
    value="#{bindings.NsEventDetailsView1.collectionModel}"
    var="row"
    binding="#{pageFlowScope.testPageBean.myIterator}"/>
    <af:inputListOfValues label="Label 1"
    popupTitle="Search and Result Dialog" id="ilov1"/>
    Then I created the bean class as per the example.
    Below is the bean class:
    import javax.faces.event.ValueChangeEvent;
    import oracle.adf.view.rich.context.AdfFacesContext;
    import org.apache.myfaces.trinidad.component.UIXIterator;
    import org.apache.myfaces.trinidad.event.AttributeChangeEvent;
    public class TestPagebean {
    public TestPagebean() {
    public void i1ov1_valueChangeListener(ValueChangeEvent valueChangeEvent) {
    // Add event code here...
    private UIXIterator myiter;
    public void setI1(UIXIterator myiter) {
    this.myiter=myiter;
    public UIXIterator getmyiter() {
    this.myiter=myiter;
    public UIXIterator setmyiter() {
    return myiter;
    UIXIterator valueIterator = getmyiter();
    if (!valueChangeEvent.getNewValue().equals(valueChangeEvent.getOldValue())) {
    int newPage =
    Integer.parseInt(valueChangeEvent.getNewValue().toString());
    int pageStart = (newPage) * valueIterator.getRows();
    valueIterator.setFirst(pageStart);
    AdfFacesContext.getCurrentInstance().addPartialTarget(valueIterator);
    But i am getting errors in the bean class.
    1. Block expecting }
    2. public UIXIterator getmyiter() {
    this.myiter=myiter;
    Return Statement missing
    3. Block expecting {
    4. Type or variable 'valueChangeEvent' not found
    5. Method 'getNewValue' not found
    6. Method 'getOldValue' not found
    7. Method 'toString' not found
    Can you suggest a possible solution?

  • Horizontal scrollbar for JComboBox - Not workable under Mac

    By referring to this thread Re: Horizontal scrollbar for JComboBox across multiple look and feel I try to provide horizontal scroll bar for JComboBox to my clients.
    private void adjustScrollBar() {
        //if (this.getItemCount() == 0) return;
        Object comp = this.getUI().getAccessibleChild(this, 0);
        if (!(comp instanceof JPopupMenu)) {
            return;
        JPopupMenu popup = (JPopupMenu) comp;
        // Works fine under Windows and Ubuntu Linux
        // However, in OSX 10.6.4
        // javax.swing.Box$Filler cannot be cast to javax.swing.JScrollPane
        JScrollPane scrollPane = (JScrollPane) popup.getComponent(0);
        scrollPane.setHorizontalScrollBar(new JScrollBar(JScrollBar.HORIZONTAL));
        scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    }The above code will cause ClassException under OSX 10.6.4. (Works fine for Windows and Linux)
    Any suggestion to resolve this problem. Sorry. I do not have a Mac machine. Hence, can't experiment out much with it.
    Thanks

    The following code works quite well for me.
        private void adjustScrollBar() {
            final int max_search = 8;
            // i < max_search is just a safe guard when getAccessibleChildrenCount
            // returns an arbitary large number. 8 is magic number
            JPopupMenu popup = null;
            for (int i = 0, count = this.getUI().getAccessibleChildrenCount(this); i < count && i < max_search; i++) {
                Object o = this.getUI().getAccessibleChild(this, i);
                if (o instanceof JPopupMenu) {
                    popup = (JPopupMenu)o;
                    break;
            if (popup == null) {
                return;
            JScrollPane scrollPane = null;
            for (int i = 0, count = popup.getComponentCount(); i < count && i < max_search; i++) {
                Component c = popup.getComponent(i);
                if (c instanceof JScrollPane) {
                    scrollPane = (JScrollPane)c;
                    break;
            if (scrollPane == null) {
                return;
            scrollPane.setHorizontalScrollBar(new JScrollBar(JScrollBar.HORIZONTAL));
            scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        }

  • Displaying Horizontal Scrollbar in h:SelectOneListbox

    I am using myfaces1.1.4.
    I have a popup which will search for branches based on selected countries.So basically it will show branch name and adress in a h:selectOneListbox.I have vertical scroll bar with this, but i am trying to generate the horizontal scroll bar which is not a default with this component, i think i need to customize that component.I tried to play around with style attribute.But it is not working.
    This is the following code i am using:
    <h:selectOneListbox value="#{backingBean.branchID}"
    id="branchResults" size="5" required="false"
    style="WIDTH: 510px; HEIGHT: 80px; FONT-FAMILY: Courier New;">
    <f:selectItems id="branchNames"
    value="#{backingBean.branchMatches}" />
    I appreciate if you can look in to this.
    Thanks.

    Horizontal scrollbars are not attached to a block but to a canvas.
    if you need some spreadtable requierement, add a stacked canvas to your content canvas, and set the CANVAS item property of these items to this canvas.
    If the size of the stacked canvas is smaller to fit every items (and it probably should), you will see a horizontal scrollbar displayed at runtime.
    Francois

  • Need help creating horizontal scrollbar in graphic timelime (built in AI)!

    I am trying to use Catlyst to build an interactive scrollbar on a graphic timeline build in Adobe Illustrator,  I want to be able to scroll from one end of timeline to the other.  Can anyone help?  Thanks! 

    Can you post a screenshot of the timeline you are trying to convert. It will help in accurate response.
    You would probably need to do it in two step:
    - Have the graphic timeline converted into Datalist element, and make the data repeatable.
    - Create a Horizontal Scrollbar component and add it to the datalist component (timeilne)
          - If you have the Horizontal scrollbar designed, then select it and convert it to a Horizontal Scroll component (using the HUD - the black overlay that comes up when you select a graphic element)
          - After conversion you would need to define the parts of the H. Scrollbar (Track, thumb, right button, left button). Note: It helps if you designed your H. Scrollbar with these components in AI/PSD.
    - Now come back to the artboard, and select the H. Scrollbar by clicking on it.
    - Cut the H. Scrollbar
    - Click the Datalist element, and go to Edit Parts (in HUD)
    - Paste the H . Scrollbar inside the Datalist element. This will attach the scrollbar to the data.
    Hope this helps,
    Fu

  • Horizontal scrollbar on tab page

    Hi,
    I'd like to use Designer for a multi-record block on a tab page with a horizontal scrollbar . How should I do this ? It is alright for a vertical scrollbar but what about an horizontal one ? Since I have too many columns to display on one tabbed page.
    Thank you,
    Denise

    If you have many items that they cannot fit into a tab page, I think you have to put them into a Stacked Canvas. This can be done by changing Overflow Style to "Spread table" option in The Module Component containing these items.
    Also, you can set WINHSB Module Generator Preference to 'Y' value to add horizontal scrollbar to module Window.
    I hope you found solution for your problem.

Maybe you are looking for

  • Ipod stuck in recovery mode and won't restore. says it can't connect to the network.

    My son tried to jailbreak his ipod touch like an idiot and of course it did not work. Now his ipod is stuck in recovery mode and I can't get it to restore. I get a message that says:the ipod software update server could not be contacted. Make sure yo

  • Function module to find document attached to a transaction in document tab

    Hi I have an urgent requirement. I have to check whether any document is attached in the document tab in service order transaction within my code. How can I do that?Is there any function module for doing that? Please suggest. Regards, Sucheta

  • JTAPI media

    Our objective: Recording calls coming to specific terminal. Problem: We can’t cast Provider object to MediaProvider object. Is Cisco Call Manager support this casting or need certain configuration.

  • LabView install: error writing to file .../cviengerror.ver

    Hello, I'm trying to install LabView and I keep stumbling on this error: "Error writing to file: C:\Windows\system32\cvrite\bin\English\cviengerror.ver" I've tried reinstalling the application a few times while running the installer as an admin but t

  • I can't open anything in my Downloads list

    I can't open anything in my Downloads list. I've tried resetting firefox and I've also tried everything in your article "What to do if you can't download or save files" but nothing helps. I tried to upgrade to the latest firefox to see if this helps