Mouse events ignored in custom skin

I created a custom skin for my spinner. While I managed to get the layout this time, it seems that all mouse click events are ignored.
package ch.sahits.game.javafx.control.skin;
import java.io.InputStream;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.collections.ObservableList;
import javafx.event.EventHandler;
import javafx.geometry.Dimension2D;
import javafx.scene.Group;
import javafx.scene.control.TextField;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import ch.sahits.game.javafx.control.OpenPatricianSpinner;
import ch.sahits.game.javafx.control.TextSizingUtility;
import com.sun.javafx.scene.control.skin.SkinBase;
public class OpenPatricianSpinnerSkin extends
        SkinBase<OpenPatricianSpinner, OpenPatricianSpinnerBehavior> {
    private TextSizingUtility sizing = new TextSizingUtility();
    public OpenPatricianSpinnerSkin(final OpenPatricianSpinner spinner) {
        super(spinner, new OpenPatricianSpinnerBehavior(spinner));
        Dimension2D dim4heigth = sizing.calculate(1, spinner.getFont());
        double width = 0;
        for (String word : spinner.getOptions()) {
            Dimension2D dim4width = sizing.calculate(word, spinner.getFont());
            if (dim4width.getWidth() > width) {
                width = dim4width.getWidth();
        Dimension2D dim = new Dimension2D(width, dim4heigth.getHeight());
        String firstValue = "";
        if (!spinner.getOptions().isEmpty()) {
            firstValue = spinner.getOptions().get(0);
            spinner.selectedIndexProperty().set(0);
        HBox hbox = new HBox();
        final TextField textField = new TextField(firstValue);
        textField.getStyleClass().add("openPatricianSpinner");
        textField.setMaxSize(dim.getWidth(), dim.getHeight());
        textField.setEditable(false);
        InputStream is = getClass().getResourceAsStream("SlabUp.png");
        Image img = new Image(is);
        double imgWidth = img.getWidth();
        final ImageView imgViewUp = new ImageView(img);
        is = getClass().getResourceAsStream("SlabDown.png");
        img = new Image(is);
        final ImageView imgViewDown = new ImageView(img);
        double additionalWidth = Math.max(img.getWidth(), imgWidth);
        is = getClass().getResourceAsStream("InputPlank.jpg");
        img = new Image(is,dim.getWidth()+additionalWidth, dim.getHeight(), false, true);
        final ImageView imgViewPlank = new ImageView(img);
        imgViewPlank.onMouseReleasedProperty().addListener(new ChangeListener<EventHandler<? super MouseEvent>>(){
            @Override
            public void changed(ObservableValue<? extends EventHandler<? super MouseEvent>> ov,
                    EventHandler<? super MouseEvent> oldValue,
                    EventHandler<? super MouseEvent> newValue) {
                System.out.println("Clicked on plank");
        Group textGroup = new Group(textField);
        VBox vbox = new VBox();
        vbox.getChildren().addAll(imgViewUp, imgViewDown);
        hbox.getChildren().addAll(textGroup, vbox);
        Group background = new Group(imgViewPlank,hbox);
        imgViewUp.onMouseReleasedProperty().addListener(new ChangeListener<EventHandler<? super MouseEvent>>(){
            @Override
            public void changed(ObservableValue<? extends EventHandler<? super MouseEvent>> ov,
                    EventHandler<? super MouseEvent> oldValue,
                    EventHandler<? super MouseEvent> newValue) {
                ObservableList<String> options = spinner.getOptions();
System.out.println("Clicked on slabUp");
                if (!options.isEmpty()) {
                    if (spinner.getSelectedIndex() > 0) {
                        spinner.selectedIndexProperty().subtract(1);
                        String newDisplayValue = options.get(spinner.getSelectedIndex());
                        textField.setText(newDisplayValue);
                    } else {
                        System.out.println("Selected index <= 0");
                } else {
                    System.out.println("Empty options list");
        }); // end up change listener
        imgViewDown.onMouseReleasedProperty().addListener(new ChangeListener<EventHandler<? super MouseEvent>>(){
            @Override
            public void changed(ObservableValue<? extends EventHandler<? super MouseEvent>> ov,
                    EventHandler<? super MouseEvent> oldValue,
                    EventHandler<? super MouseEvent> newValue) {
                ObservableList<String> options = spinner.getOptions();
System.out.println("Clicked on slabDown");
                if (!options.isEmpty()) {
                    if (spinner.getSelectedIndex() < options.size()) {
                        spinner.selectedIndexProperty().add(1);
                        String newDisplayValue = options.get(spinner.getSelectedIndex());
                        textField.setText(newDisplayValue);
                    } else {
                        System.out.println("Selected index >= options.length");
                } else {
                    System.out.println("Empty options list");
        }); // end up change listener
        onMouseReleasedProperty().addListener(new ChangeListener<EventHandler<? super MouseEvent>>(){
            @Override
            public void changed(ObservableValue<? extends EventHandler<? super MouseEvent>> ov,
                    EventHandler<? super MouseEvent> oldValue,
                    EventHandler<? super MouseEvent> newValue) {
                System.out.println("Clicked on Skin");
        getChildren().add(background);
I would at least expect to see the line 134 printed out. I call this spinner from a simple test application, without any event listeners added there.
Has anyone an idea what might happen here?

Hello, you don't register an event handler, you register a listener on the event handler property. So you don't listen for clicks, you listen for changing the registered click handler. You need to register the handler like this:
imgViewDown.setOnMouseReleased(new EventHandler<MouseEvent>() {
     @Override public void handle(MouseEvent event) {
          // your handler
This way you set the mouse release event handler which will be called on click. This code, by the way, would fire your listeners (the onMouseReleased property has changed).

Similar Messages

  • My VScrollBar applied on List ignores my custom Skin

    I'm trying to customize the skin of a List. The code looks like this:
    <s:List id="selector" x="670" height="327" itemRenderer="components.GalleryThumbnailRenderer" borderVisible="false" contentBackgroundAlpha="0" focusAlpha="0" horizontalScrollPolicy="off">
          <s:layout>
              <s:TileLayout requestedColumnCount="2" horizontalGap="1" verticalGap="1"  />
         </s:layout>
         <s:scroller>
              <s:Scroller>
                   <s:verticalScrollBar>
                        <s:VScrollBar skinClass="components.VScrollSkin" />
                   </s:verticalScrollBar>
              </s:Scroller>
         </s:scroller>
    </s:List>
    I've generated the components.VScrollSkin with Flash Builder using spark.components.VScrollBar as host component and created as a copy of spark.skins.spark.VScrollBarSkin
    Whatever I change and do in components.VScrollSkin isn't applied when I build the app. Always the default Skin is shown. I've but a trace in components.VScrollSkin to see if it's actually being loaded or not. But it is being used.
    What am I doing wrong????

    Thank you Frank for your response.....
    I have used the stand alone skineditor version:
    Skin Editor Version 11.1.2.0.0
    Build JDEVADF_11.1.2.0.0_GENERIC_110531.1615.6017
    I followed the following steps:
    - From the skin editor - I created a new application with target application release 11.1.1.4
    -- Created a new skin
    --- Changed af|selectonechoice background color to maroon....
    ---- Created deployment profile - adf library jar file with all standard option (i didn't make any changes)
    ----- created jar file using newly creately deployment profile
    Open Jdev Studio Edition Version 11.1.1.4.0
    - Opened Web application project properties
    -- Under libraries and classpath --> added new library --> added skin jar file and fusion-simple-skin.jar file
    --- Open trinidad-config.xml file and changed content to :
    <trinidad-config xmlns="http://myfaces.apache.org/trinidad/config">
    <skin-family>skin1</skin-family>
    </trinidad-config>
    Now in Jdev design mode I see all dropdown fields background changed to Maroon.....
    But wHen I run the page from Jdev. I don't see those dropdown background changed to Maroon. But it looks like it is using some new skin.... because all fonts of label are little bigger than usual...... on the running page....

  • Mouse event not fires on drag and drop

    Please
    Can any one help and give any idea during draging(drag drop) mouse over of a button does not fires. I have a list of thumb in which I want to drag and drop the thumb at any location for reordering the thumb but due to  lot of item in list need to sscroll list.  I have my own custom scroll on button mouse over but when Item is dragging  mouse event does not fires.
    Thanks in advance,
    Premkant

    Hi there,
    Reject caption shows up when an unacceptable source is dropped on a Target. To configure the 'Accept criteria', select a drop target, Click on the 'Accept' button, Deselect the checkbox corresponding to the unacceptable source. (As shown below)
    Now whenever the user drops 'Unaccept' source on top of the target, the 'Reject' caption shows up.
    Thanks,
    Nimmy Sukumaran.

  • Using activex component in openGL app:  mouse event issues.....

    i'm trying to get the Flash ActiveX control to work in an
    OpenGL app. so far i've managed to get the bitmap data and map it
    to a texture succesfully. but i'm having problems getting the mouse
    interaction to work.
    i get an hWnd from IShockWaveFlash's IOleWindow. when i send
    mouse messages to it, the mouse is interpreted correctly by
    actionscript (for example, i have a custom mouse cursor tracking
    _xmouse, _ymouse which works fine).
    however, buttons do not behave correctly. rollover is
    erratic, and only in rare circumstances can i get a button's
    onPress handler to fire.
    am i sending the mouse events in correctly? any ideas of any
    other way to send them in?

    Thank you for you mail,
    After I read this article
    http://digital.ni.com/public.nsf/3efedde4322fef198​62567740067f3cc/610540bb3ea4ebdd862568960055e498?O​penDocument
    I realized that ActiveX events are not supported on CVI 5.01 at all since
    its introduced as a new feature of CVI 5.5
    "Azucena" wrote:
    >Daniel,>>Have you tried the function CA_RegisterEventCallback function?
    (I am using>CVI 5.5)>>This function is used by the functions generated by
    the Automation>Controller Instrument Driver Wizard.>It is not intended to
    be used directly.>>It basically registers a callback for an ActiveX Automation
    server object>event.>To register the callback, you must specify the CAObjHandle
    of the server>object from which you want to receive events.>>W
    ith CVI 5.5,
    there is an example for IE with Active X under the>samples/activeX directory.>>Hope
    this helps,>>Azucena>>"Daniel Bentolila" wrote in message>news:[email protected]..>>>>
    Has anybody tried to capture an ActiveX component event in a CVI>application>>
    ?>>>> for example I've created a new instance of the Internet Explorer>application>>
    from the CVI , using the ActiveX Automation controler I choosed the>Microsoft>>
    internet controls then I selected IWebBrowser2 and the IWebBrowserEvents2>>
    classes and generated the fp file for the CVI.>> Under the the IWebBrowserEvents2
    I see there are events fucntion for>example>> OnQuit, and I wanted my CVI
    app. to attach the quit event when the user>closes>> the IE window.>> Now
    at this point I expected to find some mechanism that let me to install>>
    some callback function where I can put my customised code to the quit>event,>>
    somehow I have to tell the IE to call my function whenever the OnQuit>callback>>
    fun
    ction is attached and I don't know how to do this.>>

  • DISABLE MOUSE EVENT on jlabel

    Dear all,
    I have a jlabel on which i perform a click and the embbeded image switch between start and stop image.
    My problem consists in preventing from performing multiples click/or disabling mouse event while the application starts loading some parameters.
    switchViewLabel.addMouseListener(new MouseAdapter() {
                   public void mouseClicked(MouseEvent e) {
                        //it takes a long time
                                   onSwitchViewButtonClick();
    protected void onSwitchViewButtonClick() {
              System.out.println("onSwitchViewButtonClick");
              if (canGo) {
                   System.out.println("canGo");
                   canGo = false;
                   MainWindowPeer.getInstance().setCursorToWait();
                         //this action load parameter
                            CommandWindow.getInstance().switchView();
                         refreshSwitchViewButton();
                   MainWindowPeer.getInstance().setCursorToDefault();
                   canGo = true;
         } But on my console i have noticed :
    canGo
    onSwitchViewButtonClick
    canGo
    onSwitchViewButtonClick
    canGo.....
    It looks like we store mouse event anywhere and for each event we execute onSwitchViewButtonClick code and consume event.(it seems to not be asynchronous)....
    How to do ???
    Thanks for any helps..

    Dear all,
    yes i want to ignore mouse events until the processing is done.But how to perform process in separate thread and what is a semaphore.Is it possible to have much more explanation...
    Shall i do following code..
    mouseAdapter = new MouseAdapter() {
                   public void mouseClicked(MouseEvent e) {
                        SwingUtilities.invokeLater(new Runnable(){
                             public void run() {
                                  //switchViewLabel.removeMouseListener(mouseAdapter);
                                  onSwitchViewButtonClick();
                                  //switchViewLabel.addMouseListener(mouseAdapter);
              };Thanks you in advance...

  • Custom skin for FLVPlayback

    Hi ..
    I am trying to create a custom skin for the FLVPlayback componenet... I was wondering if someone could point me in a direction of a comprehensive tutorial..
    Thanks a bunch!!

    Hello,
    I have been attempting to use this code with the FLVPlayback
    component - when tested, the component and placeholder image both
    load, but once the user hits the play button I get an error code:
    ArgumentError: Error #2025: The supplied DisplayObject must
    be a child of the caller.
    at flash.display::DisplayObjectContainer/removeChild()
    at video_fla::MainTimeline/removePF()
    The video still plays, but the placeholder image doesn't get
    removed.
    This is the actionscript I'm using:
    import fl.video.VideoEvent;
    var pfContainer:MovieClip = new MovieClip();
    myPlayer.addChildAt(pfContainer, 1);
    var pf:Loader = new Loader();
    pf.load(new URLRequest('slatepf.png'));
    pfContainer.addChild(pf);
    pfContainer.x = 0;
    pfContainer.y = 0;
    myPlayer.addEventListener(VideoEvent.PLAYING_STATE_ENTERED,
    removePF);
    function removePF(e:Event):void{
    removeChild(pfContainer);
    Any help would be appreciated. Thanks!

  • Absorbing mouse events

    In my application, if someone clicks on a button about 10 times before it visually updates itself, the first click, initializes a change in the GUI, and another button appears in the same place. The second click, is then processed after the first press has completed, and calls the action on the next button, and so on and so on. I want to be able to stop it from doing this. Since it is all on the same thread, I can't say, absorb all button clicks until this event is complete, because they are all still sitting in the event queue. I don't exactly have a whole lot of useful methods to use in the EventQueue class to just say, hey remove all mouse events at this point. Any Ideas?
    Maybe this will describe the situation better.
    Mouse Click #1 added to queue
    Mouse Click #1 removed from queue, processing event.
    Mouse Click #2 added to Queue
    Mouse Click #3 added to Queue
    Mouse Click #4 added to Queue
    Mouse Click #5 added to Queue
    Mouse Click #1 completed event, new screen is visible.
    Mouse Click #2 removed from queue, processing event on button on new screen.
    ...and so on
    I want to be able to ignore all mouse events prior to Mouse Click #1's completion.

    Suppose that when you start processing a mouse event
    you set a busy flag somewhere, and when you finish
    processing it you reset the flag. Your mouse listener
    checks the busy flag and drops the click event if it's
    set.Problem with this is when I'm at the end of the process, then I enabled the flag, THEN the next event gets processed, and the flag is enabled.
    As far as disabling and enabling the buttons, I can try it, but I'm betting it is falling into the same scenario as the flag. My big issue is people double clicking, and the clicks are all registering as 1 click, so 2 seperate events get fired, first one changes the screen, second one clicks on the button on the next screen.
    I may have some across a solution that I will test later. It involves storing the completion time of the operation, then when starting the next event, check the event time and see if it is after the completion time, otherwise return.

  • Mouse events causing script to skip

    Hi all,
    The code itself is roughly 500 lines long so I'll only post snippets if needed, but here is the problem I am experiencing. I have a cocoa-applescript application for compressing files with ffmpeg and then rsycning over ssh to our servers at work. I use expect scripts as background processes (expect_command &> /tmp/output.txt &) to read and display progress
    Here is the problem I am experiencing. When the application is run (both inside and outside of Xcode, as well as on other machines) every time the mouse moves or clicks it causes the applescript to skip around. So for instance, if it is in the middle of compression and the mouse is moved it'll exit the repeat loop that is displaying progress and move to uploading. If I don't touch anything all works just fine. There is literally nothing in the code (save for GUI buttons that initiate sender routines) that has to do with mouse events, in fact I didn't even think it was possible to intercept mouse events with applescript.
    I am just looking for anything that could shed some light on this situation. Either ideas of what might be causing it (I've tried everything I can think of, i.e cleaning, rebuilding, testing on multiple platforms), or workarounds. Like I'd even be happy if I can just get it to ignore the mouse during my repeat loops for progress.
    First time poster, but long time reader so sorry if I am breaking any forum rules. I am happy to provide any info that can help diagnose this very very strange bug.

    Hard to say without seeing some code, but you might try adding some log statements around the code where it is moving on to the next step to see why the previous step is exiting. 
    In general you should avoid using any significant AppleScript repeat loops, since events will get backed up in the queue until the system is given some time to process them.  The timing of the actual problem may also be getting distorted by any backed up events, since they would be delayed while the script is in the loops.

  • Accepting a mouse event within button's border

    Ive created a custom round button, which is made of GIF images. The images have transparent background's created using Photoshop, so that they appear round. I was wondering if there is a way of accepting a mouse event, for example a click, from only within the actual button's border. It currently accepts mouse events from within the transparent background as well as the actual button's border. Any ideas?

    I believe you have to override the contains(...) method of your component. The article for the Tech Tips Archive gives an example:
    http://developer.java.sun.com/developer/TechTips/1999/tt0826.html

  • Mouse events don't work on a button from a panel ran in a DLL

    Hi.
    I have a DLL that loads a panel.
    Since it's a DLL I can't do the RunUserInterface() function, because the DLL would be stuck waiting for the panel events.
    I only do the LoadPanel().
    When I click with the mouse on one of the buttons, the pushing down event (simulating the button being pressed) doesn't happen and the callback doesn't run.
    But if I press the tab button until the focus reaches the button and press Enter, the callback of the button is executed.
    An even more interesting aspect is that this happens when I call the DLL on TestStand, but on an application of mine that calls the DLL just for debug everything works fine.
    How can I enable the mouse events?
    Thanks for your help.
    Daniel Coelho
    VISToolkit - http://www.vistoolkit.com - Your Real Virtual Instrument Solution
    Controlar - Electronica Industrial e Sistemas, Lda
    Solved!
    Go to Solution.

    Hello Daniel,
    I got surprised when I read your post, because I am experiencing something almost the same as you do.
    I have a DLL (generated by an .fp instrument driver I wrote) which performs continious TCP communication with the UUT.
    It starts 2 threads, each for reading from one of the 2 different IPs the UUT has.
    Another DLL tests this UUT (with the help of the communication DLL above) by exporting functions to be called by TestStand steps.
    If the second DLL wants to display a CVI panel in order to wait for the user response or displays a popup (MessagePopup, ConfirmPopup, etc), user cannot press the buttons.
    Actually, there is a point your program and mine differ. I call RunUserInterface and the button's callbacks call QuitUserInterface, so the execution continues after a button is pressed. The problem is buttons cannot be pressed. I also tried looping on GetUserEvent  but it did not solve the problem.
    There are 2 findings:
    1. I had a small exe to test my instrument driver DLL and the popups in it worked pretty well (this coincides with Daniel's findings).
    2. We workedaround the problem by shutting down the communication threads in the instrument driver DLL before the popup appears and restrating them afterwards. Although they are separate threads in another DLL, they were somehow blocking user events on another DLL running.
    S. Eren BALCI
    www.aselsan.com.tr

  • Define event types in Customizing and restart the transaction.

    how to define event to restart the transaction in BADI
    I have given error message in badi. it is giving
    No SAP Event Management communication for events; no event types def
        Message no. /SAPTRX/ASC084
    Diagnosis
        You have not defined event types for the business process types.
        therefore not possible to communicate event data to SAP Event
        Management.
    System response
        The communication of event data is aborted.
    Procedure
        Define event types in Customizing and restart the transaction.

    Hi Kevin,
    What DataSource does your testalias refer to?
    - If it is a custom DataSource, you must have created this custom DataSource also.
    - If it is the default DataSource, you shouldn't have this problem in general...
    In either case, you can try deploying your DataSource and/or DataSource alias together with your application:
    http://help.sap.com/saphelp_nwce10/helpdata/en/45/07d2eeea3e0485e10000000a155369/frameset.htm
    http://help.sap.com/saphelp_nwce10/helpdata/en/45/c82cd460a42e96e10000000a155369/frameset.htm
    I hope that helps!
    Regards,
    Yordan

  • Mouse Events are slow

    Hello everyone,
    I'm currently working on an standard as3 (1024x768) app that
    is running inside a chromeless Air window to take advantage of the
    transparency.
    All my tests where done using windows XP professional and AIR
    1.0 (the same problem existed in beta3).
    The issue I'm having is related with Mouse Events. Somehow
    the events take a lot of time to reach the swf file when the user
    clicks inside the transparent window.
    It's natural that the app runs slower inside a transparent
    window (the framerate drops) but I wasn't expecting the clicks to
    suffer from such delay (it takes sometimes 2-5sec).
    The app is very CPU intensive and the transparencies make it
    worse. Something inside the AIR framework is not dispatching the
    events properly.
    I say this because I tried using the virtualMouse class from
    senocular together with a socket to simulate the mouse clicks and
    that did the trick.
    In conclusion:
    Something in the AIR framework for windows XP is messing up
    the dispatch of the Mouse events when the app is under heavy cpu
    usage inside a chromeless window. I click on the window and it
    takes 1-2sec to receive the click event.
    However when I dispatch the MouseEvent.CLICK myself using
    the virtual mouse class the application immediately receives the
    event.
    I know this is a strange bug and not many people will have
    this problem, but I would like to know from someone with knowledge
    of the runtime why this could be happening.
    Thank you
    Tiago Bilou

    Hello everyone,
    I'm currently working on an standard as3 (1024x768) app that
    is running inside a chromeless Air window to take advantage of the
    transparency.
    All my tests where done using windows XP professional and AIR
    1.0 (the same problem existed in beta3).
    The issue I'm having is related with Mouse Events. Somehow
    the events take a lot of time to reach the swf file when the user
    clicks inside the transparent window.
    It's natural that the app runs slower inside a transparent
    window (the framerate drops) but I wasn't expecting the clicks to
    suffer from such delay (it takes sometimes 2-5sec).
    The app is very CPU intensive and the transparencies make it
    worse. Something inside the AIR framework is not dispatching the
    events properly.
    I say this because I tried using the virtualMouse class from
    senocular together with a socket to simulate the mouse clicks and
    that did the trick.
    In conclusion:
    Something in the AIR framework for windows XP is messing up
    the dispatch of the Mouse events when the app is under heavy cpu
    usage inside a chromeless window. I click on the window and it
    takes 1-2sec to receive the click event.
    However when I dispatch the MouseEvent.CLICK myself using
    the virtual mouse class the application immediately receives the
    event.
    I know this is a strange bug and not many people will have
    this problem, but I would like to know from someone with knowledge
    of the runtime why this could be happening.
    Thank you
    Tiago Bilou

  • Customized Skins in Non-English Projects

    I have a customized skin that when used non-English projects,
    it omits special characters in the buttons for Contents and Index.
    I didn't create the skin so I don't have Flash. Any suggestions on
    how to fix the buttons to display the missing characters?

    If she's no longer with the company and she was using Flash,
    could it by chance be a company license for Flash that you could
    take over...?
    Rick referred to the LNG file, which exists in both the
    source files and the output files. Do the copying and pasting with
    the source versions. (The output version will be overwritten from
    the source version every time.)
    If Rick's suggestion doesn't work, the only other thing I can
    think of would be to check the .fla files themselves in Flash. The
    person who tweaked the files may have done something to the dynamic
    text fields for the button labels. If you can get a copy of Flash,
    you could check two things on the button label text field
    (double-click the Label object twice to get to this point):
    1. See if "Use device fonts" is selected in a dropdown on the
    left side of the Properties panel. This selection won't let you
    embed fonts. If it's selected, try #2 below instead. If it isn't,
    select it, export the movie, and put it in your output files.
    2. Change "Use device fonts" to "Anti-alias for animation."
    Click the Embed button. Select every option with Latin in it, and
    click OK. Export to a movie, and put it in your output files.
    Note that you'd have to do this for each button that isn't
    displaying the characters properly.
    Hope this helps,
    Ben

  • Can you call a public method in a custom skin?

    I made a custom skin for a button. In the skin there's a method to change some text. Can I call this method from my application?
    I get an error message when I try to call it like a normal object:
    uploadNewBtn.setNewPhotosLabel("test");
    Error 1061: Call to a possibly undefined method setNewPhotosLabel through a reference with static type spark.components:Button.

    You said it yourself, the method is inside skin not the HostComponent (button in your case). Obviously you cannot call it.
    There is a skin protperty inside SkinnableComponent, but it is typed as UIComponent so you still cannot cal it on the skin without casting. I don't know your use case, so in theory you either push the text/label from the host towards the skin, or you listen or bind from the skin on the hostcomponent.
    C

  • ADF Faces: How to position define table navigation in custom skin?

    Hi,
    I played a bit with custom skins. I'am just wondering how you can choose the location of the navigation button ( << Previous | 1-10 of 32 | Next >> )
    For example, if I use the oracle skin, it appears both at the top and at the bottom. In an other skin I used, the navigation was only at the top and not at the bottom. I just can't figure out how this is determined in the css stylesheet, or is it simply not possible because the custom skin is derived from the Simple skin?

    Add the following to the css for your skin:
    af|table::control-bar-bottom
    visibility:hidden;
    This will hide the bottom control bar, which contains the navigation at the bottom of the table, from view.
    Regards,
    Ric

Maybe you are looking for