How to get a scroll bar for nodes?

How to get the scroll bar to work with the javafx.scene.layout.container.
I tried putting in one but the SwingScrollPane requires SwingComponent.
How do I put my fx nodes inside it.
I could not find any way to cast the node objects into SwingComponent.

Hi,
Here's a little sample with custom scrollNode
You must modify the code but you can start with it.
* ScrollNode.fx
* Created on 14 mars 2009, 14:53:55
package fxtests;
import fxtests.ScrollNode;
import java.lang.Object;
import javafx.ext.swing.SwingSlider;
import javafx.scene.CustomNode;
import javafx.scene.Group;
import javafx.scene.Node;
import javafx.scene.paint.Color;
import javafx.scene.paint.LinearGradient;
import javafx.scene.paint.Stop;
import javafx.scene.Scene;
import javafx.scene.shape.Rectangle;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import javafx.scene.text.TextOrigin;
* @author Alex
public class ScrollNode extends CustomNode {
    public-init var node: Node;
    public-init var nodeWidth: Number;
    public-init var nodeHeight: Number;
    public var scrollHeight = 20;
    public var width = 200;
    public var height = 200;
    public var posX: Integer = 0 on replace {
        node.translateX = -posX
    public var posY: Integer =
    nodeWidth - width as Integer on replace {
        node.translateY = posY-(nodeWidth - width)
    public override function create(): Node {
        return Group {
            content: [
                SwingSlider {
                    value: bind posX with inverse
                    minimum: 0
                    maximum: nodeWidth - width as Integer
                    width: width
                    height: 20
                    translateX: 20
                    vertical: false;
                SwingSlider {
                    value: bind posY with inverse
                    minimum: 0
                    maximum: nodeHeight - height as Integer
                    height: height
                    width: 20
                    translateY: 20
                    vertical: true
                Group {
                    translateX: scrollHeight
                    translateY: scrollHeight
                    clip: Rectangle {
                        width: width
                        height: height
                    content: node
                Text {
                    translateX: scrollHeight+10
                    translateY: scrollHeight+10
                    textOrigin: TextOrigin.TOP
                    content: bind "node position: {node.translateX}, {node.translateY}"
function run() {
    Stage {
        title: "ScrollNode"
        scene: Scene {
            width: 400
            height: 400
            content: [
                ScrollNode {
                    width: 200
                    height: 200
                    nodeHeight: 500
                    nodeWidth: 500
                    node: Rectangle {
                        width: 500
                        height: 500
                        fill: LinearGradient {
                            startX: 0.0
                            startY: 0.0
                            endX: 1.0
                            endY: 1.0
                            stops: [
                                Stop {
                                    color: Color.WHITE
                                    offset: 0.0
                                Stop {
                                    color: Color.BLACK
                                    offset: 1.0
}

Similar Messages

  • Does anybody know how to get a scroll bar for a long list of podcasts when selcting some for sync? Thanks

    Does anybody know how to get a scroll bar for a long list of podcasts when selcting some for sync? Thanks

    Hi lbadek
    I can help with this please send us an email using the contact the mods link in my proifle and we will investigated from there.
    Thanks
    Stuart
    BTCare Community Mod
    If we have asked you to email us with your details, please make sure you are logged in to the forum, otherwise you will not be able to see our ‘Contact Us’ link within our profiles.
    We are sorry that we are unable to deal with service/account queries via the private message(PM) function so please don't PM your account info, we need to deal with this via our email account :-)

  • How to get vertical scroll bars for a window?

    hi All,
    i have a window in my smart form ( not main window ) . it displays long text of a PO header. since user can enter huge amount of long text i want to enable vertical scroll bar in smart form window so that it shows all the long text.
    How to enable that for a window in smart form? any pointers would be highly appreciated.
    Thanks,
    Sreekanth.

    Hi
    Only the main window can have a dynamic heigh, all other windows have a static size: so u make sure the long text can be displayed in the window .
    Max

  • How to get a scroll bar to the applications popup by default?

    How to get a scroll bar to the applications popup by default when clicked the applications folder from the dock? If I have so many applications that they do not fit in the default area, I have to find out myselft that I have to scroll the content before the scroll bar appears. This leads to "where is my missing applications questions" by the novice users with Mountain Lion.

    System Preferences > General > Show scroll bars.
    Click the button by the side of "Always".
    Best.

  • How to get Auto scroll bar in a JSP?

    Hi Gurus,
    I have created a custom jsp page in a B2B application. How to get the auto scroll bar when page is exceeded than it can display?
    Is there any specific tag or div which is to be included to get this scroll bar?
    Thanks a lot in advance!!
    Regards,
    Lakshman.

    Hi Lakshman,
    You can include it in stylsheet and then use that class in your <body> or "div"  tag.
    the CSS command is
    overflow:auto;
    you can use like
    <body style="overflow: auto;"> or -- div style="overflow: auto;" 
    You can declare class in ".css" file
    #c1
    .c1
    <body id="c1>> or <div id="c1">
    <body class="c1>> or <div class="c1">
    You can use either "class" or "id" by adding it to "CSS" file and the use it to any JSP file or by direct aditing "Style" attirbute in tag.
    so when your content is longer then your screen browser will display scroll bar automatically.
    I hope this will help you.
    Thanks and Regards.
    eCommerce Developer
    Edited by: Ecommerce Developer on Jul 9, 2009 5:58 PM
    Edited by: Ecommerce Developer on Jul 9, 2009 5:59 PM

  • How to get transparency scroll bar to view background image of canvas.

    HI, 
    How to get transparency to path in canvas to view background image in canvas using scroll bar control.?
    This is my present output:
    My Xaml Code:
    <Grid Height="auto" Name="grid1">
    <TabControl Background="Bisque">
    <TabItem Header="Tools">
    <Grid Height="1000" Width="1000" Name="grid">
    <Border BorderThickness="0.2" BorderBrush="Black" Height="820" Width="820" ClipToBounds="True" Margin="90,99,90,81"></Border>
    <Grid>
    <Button Content="Original Size" Height="23" Name="btn_Original" Width="75" Click="btnOriginalSizePosition" Margin="4,4,921,973" />
    <TextBox Height="20" HorizontalAlignment="Left" Margin="62,49,0,0" x:Name="txtNoOfZones" VerticalAlignment="Top" Width="49"
    MaxLength="2" PreviewTextInput="txtNoOfZones_PreviewTextInput"/>
    <TextBox Height="20" HorizontalAlignment="Right" Margin="0,71,890,0" x:Name="txtSec" VerticalAlignment="Top" Width="49" PreviewTextInput="txtSec_PreviewTextInput" MaxLength="3"/>
    <Button Content="OK" Height="32" HorizontalAlignment="Left" Margin="117,59,0,0" Name="btnNoOfZones" VerticalAlignment="Top" Width="39" Click="btnNoOfZones_Click" />
    <Label Content="Zone Number selected :" Height="28" HorizontalAlignment="Right" Margin="0,0,451,0" Name="lblZone" VerticalAlignment="Top" />
    <Label Content="Sector Number in selected Zone :" Height="28" HorizontalAlignment="Right" Margin="364,22,451,0" Name="lblSector" VerticalAlignment="Top" />
    <Label Content="Filled Color applied in selected sector :" Height="28" HorizontalAlignment="Right" Margin="336,44,451,0" Name="lblColor" VerticalAlignment="Top" />
    <Label HorizontalAlignment="Left" Margin="569,0,0,0" Name="lblZoneNumber" Height="28" VerticalAlignment="Top" />
    <Label Height="28" HorizontalAlignment="Left" Margin="569,22,0,0" Name="lblSectorNumber" VerticalAlignment="Top" />
    <Label Height="30" HorizontalAlignment="Left" Margin="569,44,0,0" Name="lblFillColor" VerticalAlignment="Top" FontWeight="Bold"/>
    <Label Content="Sectors :" Height="28" HorizontalAlignment="Left" Margin="7,67,0,905" Width="69" />
    <Label Content="Zones :" HorizontalAlignment="Left" Margin="13,44,0,928"/>
    <TextBlock Height="23" HorizontalAlignment="Left" Margin="4,32,0,0" Text="Change No.of Zones, sectors below and click OK button" VerticalAlignment="Top" Width="294" FontFamily="Cambria" FontSize="12" FontStyle="Italic" FontWeight="Bold" />
    <RadioButton Content="Single Sector" Height="16" HorizontalAlignment="Left" Margin="744,24,0,0" Name="rBtnSingleSector" VerticalAlignment="Top" GroupName="Selection"/>
    <RadioButton Content="Sector Zone" Height="16" HorizontalAlignment="Left" Margin="744,44,0,0" Name="rBtnSectorZone" VerticalAlignment="Top" GroupName="Selection"/>
    <RadioButton Content="Circular Zone" Height="16" HorizontalAlignment="Left" Margin="744,64,0,0" Name="rBtnCircularZone" VerticalAlignment="Top" GroupName="Selection"/>
    <RadioButton Content="Panning" Height="24" HorizontalAlignment="Left" Margin="744,4,0,0" Name="rBtnPanning" VerticalAlignment="Top" Width="74" GroupName="Selection"/>
    <Border x:Name="clipBorder" BorderBrush="Black" BorderThickness="0" ClipToBounds="True" Height="810" Width="810" Margin="95,104,95,86" CornerRadius="10">
    <Canvas x:Name="CanvasPanel" Height="800" Width="800" Background="Transparent" ClipToBounds="True"></Canvas>
    </Border>
    <RadioButton Content="Random Color" HorizontalAlignment="Left" Margin="868,5,0,979" Name="rdBtnRandomColor" GroupName="rdbtnGroupFillColor"/>
    <RadioButton Content="Red Color" Height="16" HorizontalAlignment="Left" Margin="868,24,0,0" Name="rdBtnRedColor" VerticalAlignment="Top" GroupName="rdbtnGroupFillColor" Foreground="#FFF81010" FontWeight="Bold" />
    <RadioButton Content="Green Color" Height="16" HorizontalAlignment="Left" Margin="868,44,0,0" Name="rdBtnGreenColor" VerticalAlignment="Top" GroupName="rdbtnGroupFillColor" Foreground="#FF175F17" FontWeight="Bold" />
    <RadioButton Content="Adjacent" Height="16" HorizontalAlignment="Left" Margin="435,81,0,0" Name="rdBtnAdjacent" VerticalAlignment="Top" GroupName="Selection" />
    </Grid>
    </Grid>
    </TabItem>
    <TabItem Header="Change Background">
    <Grid Height="1000" VerticalAlignment="Top" Background="Bisque">
    <Button Height="70" Width="70" Margin="6,1,892,929" Name="btnBrowseImage" Click="btnAll">
    <Image x:Name="browseIcon" Source="D:\WPF\Projects\TabControlVRI_18_12_2014\Images\img.png" MouseLeftButtonDown="Image_MouseLeftButtonDown_1"/>
    </Button>
    <Button Height="70" Width="70" Margin="92,1,806,929" Name="btnCenterPoint" Click="btnAll">
    <Image x:Name="centerIcon" Source="D:\WPF\Projects\TabControlVRI_18_12_2014\Images\center.jpg" Width="54" Height="48" />
    </Button>
    <Button Height="70" Width="70" Margin="179,1,719,929" Click="btnAll">
    <Image x:Name="boundaryIcon" Source="D:\WPF\Projects\TabControlVRI_18_12_2014\Images\Path_Simple.png" Height="44" Width="49" />
    </Button>
    <Image Name="imgBackground" Height="800" Width="800" MouseLeftButtonDown="imgBackground_MouseLeftButtonDown">
    </Image>
    </Grid>
    </TabItem>
    </TabControl>
    </Grid>
    C# code:
    OpenFileDialog op = new OpenFileDialog();
    ImageBrush ib = new ImageBrush();
    private void Image_MouseLeftButtonDown_1(object sender, RoutedEventArgs e)
    op.Title = "Select a picture";
    op.Filter = "All supported graphics|*.jpg;*.jpeg;*.png|" +
    "JPEG (*.jpg;*.jpeg)|*.jpg;*.jpeg|" +
    "Portable Network Graphic (*.png)|*.png";
    if (op.ShowDialog() == true)
    ib.ImageSource = new BitmapImage(new Uri(op.FileName));
    imgBackground.Source = new BitmapImage(new Uri(op.FileName));
    CanvasPanel.Background = ib;
    Please help me out to get transparency for path in canvas to view background image in canvas.
    The complete code is in below link:
    https://onedrive.live.com/redir?resid=876CFAE94C306176!112&authkey=!AC1sQIYwyoRYT_o&ithint=file%2crar
    Regards,
    Viswa.

    Hi ViswAmmu,
    >>Please help me out to get transparency for path in canvas to view background image in canvas.
    If I'm not misunderstanding, I think you just need to loop through all Canvas.Children and set Opacity property for them:
    private void Image_MouseLeftButtonDown_1(object sender, RoutedEventArgs e)
    //Loop through all children items
    foreach(UIElement v in CanvasPanel.Children)
    v.Opacity = 0;
    op.Title = "Select a picture";
    op.Filter = "All supported graphics|*.jpg;*.jpeg;*.png|" +
    "JPEG (*.jpg;*.jpeg)|*.jpg;*.jpeg|" +
    "Portable Network Graphic (*.png)|*.png";
    if (op.ShowDialog() == true)
    ib.ImageSource = new BitmapImage(new Uri(op.FileName));
    imgBackground.Source = new BitmapImage(new Uri(op.FileName));
    CanvasPanel.Background = ib;
    Screenshot:
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • How to get a scroll bar to scroll down as new elements are added

    I have a JPanel that displays a list of information. As new information is added to the bottom of the list, a scroll bar appears. I require the scroll bar to scroll down as the new elements are added so that the most recent one's are in view all the time. Any ideas on how to do this?
    Thanks

    before adding each component.
    get the scrollbar object
    store the
    ScrollBar sb = JFrame.getScrollBar();
    int cmax = scrollbar.getVisibleAmount();
    add component .....
    int nmax = scrollbar.getVisibleAmount();
    int diff = nmax - cmax;
    sb.setValue(sb.getValue() + diff);
    assuming you can get the scrollbar object from the
    JFrame, ContentPane of JScrollPane.

  • How could i place scroll bars for my JTextArea!

    hi,
    I am using JTextArea. Now i want to place scroll bars to scroll when the text is more than the textarea..............
    Help me...........
    Regards........

    Just to give you some more detail here is a simple example application:
    import javax.swing.*;
    public class Example extends JFrame{
         public Example(){
              build();
        public void build(){
              // The code that should be of interest to you.
               JScrollPane scroll = new JScrollPane();
              JTextArea t = new JTextArea();
              scroll.getViewport().add(t);
              this.getContentPane().add(scroll);
              this.setSize(200,200);
              this.setVisible(true);
        public static void main(String[] args) {
              new Example();
    }good luck :)

  • How to get the Horizontal Scroll Bar for a Table?

    Hi All,
    As per my requirement, I am displaying several records in a Screen in a Tabular Format. But here I have to show 21 Columns in that table which is too high. I am able to display it but due to it I am getting a Horizontal scroll bar for the whole screen since all the columns are not getting displayed in the normal window screen space. But its looking too odd since once I am scrolling it to right the columns are getting displayed but the above Header Bar and Global buttons are not displaying, they are bound to the normal screen space.
    Is there a way to have a Horizontal scroll bar only for that table instead of the entire screen so that on scrolling that bar only the table rows will beshifted ant got displayed?
    With Thanks
    Kumar Gautam

    try this approach.
    include a raw text item before and table item.
    include the appropriate HTML tags in raw text item to enable horizontal scroll
    --Prasanna                                                                                                                                                                                                                                                                                                                                   

  • How Do I Get back scroll bar arrows Back

    Is there a way to get back scroll bar arrows back in OS 10.8.4  ? Thats all.

    Newer systems might also provide different functionality instead of just more.
    There are many cases where Apple has changed things (taken away here, given something different there) and with good results.
    However I agree with you bernuli:  (Mountain) Lion has been a disaster in many ways.  At least to me.  I produce information and want to be productive with precision and speed.  I know how to spell and I know what I am looking at.  So I want all animations OFF, all spelling checking OFF, all horrible yellow "tooltips" OFF and so on.
    Just today I have finally switched, after more than two years ago buying a machine specially for Lion and figuring out how to live with it.  I can still feel my blood pressure rise, despite a lot of tweaking in those two years.  I want those little arrows back (using TinkerTool I had both of them at the top and both at the bottom!)  The keyboard arrows are NOT a replacement.
    You will be assimilated into the touch-interface world, resistance is futile.

  • HT1338 How do you consistently get the scroll bar on the right side of the page

    How do you consistently get the scroll bar on the right side of the page.

    Go into System Preferences, select General and set "Show scroll bars" to "Always".

  • Get image Scroll bar position value

    How to get an image component scrollbar position value in flex.
    I have an image component in my application, when i scroll the horizontal scrollbar
    i need the current scrolled position. How to get the scrolled position in an image component.
    Kindly help in this issue.
    Rajkumar.

    Are you sure you want to use setOnScroll to listen to scroll events rather than set the value of the scroll bar position via the tableView.scrollTo api (which I would recommend) or the scrollBar.setValue() api?
    for (Node n: table.lookupAll(".scroll-bar")) {
      if (n instanceof ScrollBar) {
        ScrollBar bar = (ScrollBar) n;
        System.out.println(bar.getOrientation() + ": range " + bar.getMin() + " => " + bar.getMax() + ", value " + bar.getValue());
          if (bar.getOrientation().equals(Orientation.VERTICAL)) {
          bar.setValue(0.5);
    }If you did really, really want to use setOnScroll, then you could do something like this:
    Node flow = table.lookup("VirtualFlow");
    if (flow != null) {
      final EventHandler<? super ScrollEvent> originalScrollHandler = flow.getOnScroll();
      flow.setOnScroll(new EventHandler<ScrollEvent>() {
        @Override public void handle(ScrollEvent event) {
          System.out.println(event);
          originalScrollHandler.handle(event);
    }  Though you would be better off just using an eventfilter rather than using the strange lookup and setOnScroll chaining method in the above code.
    table.addEventFilter(ScrollEvent.ANY, new EventHandler<ScrollEvent>() {
      @Override public void handle(ScrollEvent event) {
        System.out.println(event);
        // uncomment if you don't want the default table scroll events processing to take effect.
        //event.consume();
    });

  • Scroll bars for UDF's

    Hello, I upgraded from SAP Business One 2005A to SAP Business One 2005A SP01 and found that the vertical scroll bar in the user defined field panel is missing and I am unable to scroll to the bottom of the list of UDF's. How can I get the scroll bars back?
    Paul

    Hi Paul,
    I mean not the user defined field by itself.When you open the user defined field , it come along with the form for example
    General , categories ...
    then user defined fields.
    There are arrow to move your userdefined form to display at which location .usually you can attach in next to window or at the bottom of the screen . then follow  my previous thread
    This is a basic operation to look whether it works .Otherwise , it could be the problem as Suda mentioned ..
    Hope this helps
    Bishal

  • How to get motion scroll in adobe muse?

    I can't find motion scroll effect in Window Menu and properties bar. So how to get motion scroll in adobe muse. U have any idea?

    Hi,
    could you please add a screenshot of the windows tab so that we can see what is wrong?

  • Horizontal scroll bar for the adf page

    Hi,
    We have around 7 tables in single jsff page. Here , we have a requirement like :
    We need to show horizontal scroll bar for the entire page instead of each table. Is there any way to get this.
    As of now, we have horizontal scroll bar for each table, but our customer is not accepting this, that want the scroll bar for the entire page.
    Please suggest the approach.
    Thanks

    I have grouped all the tables in panelgrouplayout.So, what is the problem (because it is not quite clear what you need)?
    If your PanelGroupLayout is with layout="horizontal", then the tables will be rendered next to each other horizontally but there will be no horizontal scrollbar on the page.
    If your PanelGroupLayout is with layout="scroll", then the tables will be next to each other vertically and there will be a horizontal and a vertical scrollbar on the page (if necessary).
    If you need your tables to be relocated next to each other horizontally and to have a horizontal scrollbar on the page, then use a PanelGroupLayouts(horizontal) inside a PanelGroupLayout(scroll):
    <af:panelGroupLayout layout="scroll">
      <af:panelGroupLayout layout="horizontal">
        <af:table> ... </af:table>
        <af:table> ... </af:table>
        <af:table> ... </af:table>
      </af:panelGroupLayout>
    </af:panelGroupLayout>If your problem is that you still have horizontal scrollbars inside the tables, then you should set appropriate widths to the corresponding tables (e.g. to <af:table> tags) such that they are large enough to fit the sum of corresponding column widths.
    ya, I know that its not god design, but its customer requirement, so we need to do that.If you expect some table(s) to be stretched automatically according to the size of browser's window, then you should re-think your UI design because PanelGroupLayouts do not stretch their children. A possible solution is to use a combination of PanelSplitters or other layout containers that stretch their children.
    Dimitar

Maybe you are looking for

  • Error Message when installing Adobe AIR

    Hi, I am running XP and previously had Adobe AIR installed ok.  I recently removed the install of Adobe AIR and have tried to reload it but get the below error message: "An error occurred while installing Adobe AIR. Installation may not be allowed by

  • How can I create a query with tables in INFOSET?

    Dear Gurus, How can I create a query with tables in INFOSET? Just tables and fields INFOSET? Kind Regards,

  • T540 keyboard

    My trusty 5yo T500 is operating without the deafening and now failed fan, without hinges, with a broken display frame, without top bezel and pad, with a loose battery, and without a touchpad.  All mechanical parts have failed on me, except the keyboa

  • Accordion flashing in IE6 --already checked DOCTYPE

    I am using a spry accordion with images for the tabs instead of text. It works very well, except I get an annoying flash with IE6 The flash is caused because IE6 displays the uncollapsed menu structure and then collapses it when the page is finished

  • XML message for material master records

    Hello experts We want to implement an interface with material master records to be sent to our customers. This interface is proposed to be in XML. Can you please provide me with links or documents that explain how to integrate XML within SAP regardin