Livecycle button with an action bypassed if 'enable additional featues' actioned

I have created a form in Livecycle that has a button with an action that when clicked repeats several rows of a table.  (ie if someone needs to see more rows they click the button)
This works fine in the Preview PDF and works fine once saved  if I then open the file in Acrobat.  But if I 'enable additional features' when I re open the file the extra rows appear immediately prior to pressing the button.  Can't someone explain how I stop that happening

Put your form:ready event script into the initialize event.
Kyle

Similar Messages

  • Buttons with page actions not working

    Hi,
    I have a folio with buttons that have actions such as "Go to Page", "Go to First Page" and "Go to Last Page".
    I could export this folio with Folio Builder to the server and I could view it in my tablet with no problems.
    However, today (August 30th) I exported the folio again and it's not working. All other overlays are working fine, but buttons with page actions just show their Click appearance and go back to normal.
    My friend also teels me of this problem.
    What happened?
    My Content Viewer in my iPad is updated and I have made the last Folio Builder upgrade.
    Sincerely,
    Jean

    There was a bug in which these previously supported button actions (Go to Page and Go to First/Last Page) no longer worked, but I thought that bug had been fixed. Let me check on that. In the meantime, the workaround is to use the "navto://" format to jump to a different page within the same document. Use the "navto://articlename#n" format. The first page is 0, so #1 jumps to page 2. For details, go here:
    http://help.adobe.com/en_US/digitalpubsuite/using/WS67cb9e293e2f1f60-8ad81e812b10bfd837-80 00.html#WS67cb9e293e2f1f606f59889512d69320e0d-8000

  • Creating button with gotoPage(action) and tooltip in Indesign CS4

    Hi,
      I want to create the button with gotopage(action) and tool tip for specific text for pdf generation, using the javascript/AppleScript .If any of you know ,Please do reply for my question.

    Dave is correct. Go to Page isn't available in PDF.
    Instead, use the Hyperlink panel and select an object or text and choose Create New Destination and give it a name.
    Then set the action for the button to be Go to Destination. Select the destination you saved.

  • Help!! Buttons with different actions on IPAD

    Why is in Ipad a button with different actions does not respond to these actions at the same time, but one at a time? In Android works fine!!
    What is happening is that in ipad I have to touch more than once on the button to go to the different actions that this button has!
    Help...

    Hi Tomas
    thanks for the quick response.  I think mine Adobe Content Viewer is the last update, from February 21, so the problem is not due to this.
    II'll explain the situation better, i have several identical situations. For example, I have a square that hides an image and I want that when you tap this square this image appears behind him, then i did the following: I selected at first the square and the image and transformed a multi- State Object, in which the first state is the box (State1) and the second is the image (state 2) then made a transparent button on top of this square and it gave the following actions - on release go to state 2 (image) here everything goes well, the problem is that as I have more buttons / squares that do the same and show different images, that when I turned the other one the next hide her image. So all the buttons in addition to the state that shows the picture / object matching (state 2) - i have also- go to state (name of the object: state 1) causes other squares hide their files, as they get the state 1. Here lies the problem, in ipad these actions do not react automatically but in different touches, it seems that it reads a touch for action and not all at once.
    I apologize for my English but I'm Portuguese, I hope you can understand everything explained.
    Marta

  • Buttons with multiple actions doesn't work in v32.1

    We had buttons in our previously published folios that bring one multi-state object to first state and second MSO to other state which depends on which button is pressed. It works in app v32.0 and lower, but it doesn't work longer after trying to update our app to v32.1.
    If there is no more possible to have buttons with more than one action, I think we should be warned in What's New in Relaese v32.1 notes. Because it's not happen we consider it as a bug. Can someone please tell us whether this is a permanent change to button functionality in DPS folios or if it is happen by mistake?

    Hello Michelle,
    I was wondering if you were able to see my post today about problems with MSO's and whether you were able to get any solutions for the previous posts on this thread?
    I have been in contact with the Adobe support team with regards to the problems I am having with the App I've created  and sent the App and some sample indesign files for them to look over. They have been really unhelpful and just given me this as the response:
    I have also researched about this issue and would like to inform you that there are several changes which have been incorporated in iOS 8.
    So apps which are created and working with iOS 7 might not work with iOS 8. This is an expected behavior.
    You would have to create the app again with compatibility settings with iOS 8 and then release an update for the same.
    So altogether there has to be another to be app created for iOS 8.
    As we are already 2 weeks over deadline, due to problems with iOS 8, and out of budget to cover the extra work we have had to do so far problem solving these issues, I really hoped for something better than this response.
    Are Adobe really not looking into a fix for this? Is the only solution to limit the interactivity and functionality of DPS apps so they work within the new restrictions of iOS 8?
    Any help would be really gratefully received.
    many thanks,
    Chrissy

  • Unable to remove LiveCycle rights with custom actions

    Hello
    I've a problem with the action wizard in Acrobat Pro.
    I'd like to remove the LiveCycle right from a PDF. My right is so that I'm allowed to change everything but with such a protection I'm unable to load those on the iPad, so I'would like to remove them.
    Manually I can remove the right with the "Remove Security" in the Secure menu, but when I'd like to remove them with a batch process, but there it doesn't work anymore.
    I followed the instruction from an older Post http://blogs.adobe.com/acrobatforlifesciences/2010/04/removing_security_from_pdfs_in/ but doesn't work either.
    Can someone explaine me the right steps to remove the LiveCycle Right with an custom action?
    Thanks
    P.S. I work with the newest Windows version of Adobe Acrobat XI Pro.

    Read the instructions in my blog: http://acrobatninja.com/2013/04/acrobat-XI-actions-encryption.html

  • What would be best - a quiz or buttons with advanced actions?

    I have just got hold of Captivate 7 and am learning how to use it. I have been given a project which I think would work well with captivate but am not sure what would be the best thing to use. On a webpage before people submit a form do do with ethics, they will need to answer a few questions to see if completing the subsequent form is the best approach or if they should actually instead go to other committees or need to see websites or other resources.
    So they will get simple questions such as, e.g. 'does your research involve x?' If the answer is yes they would then need to go to a different website or access a link to a resource (say a PDF) if they answer no, they would be prompted to answer the next question and so on until either finally being prompted to submit the form or by answering yes at any time go to other websites or access resources. There would be a total of maybe eight questions.
    So for something like this, would a quiz be the best approach or would show/hide buttons be best?
    If a quiz is best, would I only need to create a Captivate project with one page with a series of questions or would it better with a page for each question? I have not yet created a quiz so am not sure how best to do this and how the actions actually work and what space is required on each page of the project.

    It is up to you, but personally I would not use question slides for this kind of 'questions'. Reason is that you have lot of branching to do, and need a lot of control.  This is not a normal quiz. You do not need scoring, do you need to report something?
    And if you choose for question slides: only one question per slide possible.
    Lilybiri

  • Special button with double action

    hi there,
    i know that what i'm gonna ask is quite complicated, but let's try, i'm sure somebody will help me out.
    I'm trying to get an expanding button for my app. I want a button like the 'debug' or 'run' (among others) buttons of the Eclipse environment, which you can find in the toolBar. If you click on the left side of it, you'll see it runs the last 'configuration'. If you click on the expand arrow on the right side of it, a pop-up menu will show up.
    Do you have any idea how to get such a button?
    thanks in advance people!!!

    thanks everyone!!
    well, after spending few hours trying to do it, I found out the solution.
    In order to get such a button, you have to add an action to a toolbar and make it 'AS_DROP_DOWN_MENU' . had to look into the code of the org.eclipse.jface.action.Action class to find it out.
    there is this particular constructor :
    protected Action(String text, int style) {
              this(text);
              switch (style) {
              case AS_PUSH_BUTTON:
                   value = VAL_PUSH_BTN;
                   break;
              case AS_CHECK_BOX:
                   value = VAL_TOGGLE_BTN_OFF;
                   break;
              case AS_DROP_DOWN_MENU:
                   value = VAL_DROP_DOWN_MENU;
                   break;
              case AS_RADIO_BUTTON:
                   value = VAL_RADIO_BTN_OFF;
                   break;
              }THANKS ANYWAY GUYS!

  • Draw shape on top of button with existing image

    Hi all,
    I have a button with an action. The action has an associated image (i.e. the Action.SMALL_ICON value is set to be an image from my resources).
    I want to draw on top of my button and add a little triangle in the corner. I don't want to add this to the original image, nor add it to the action (if such a thing were even possible), because I don't necessarily want it always drawn. (Note, this is part of implementing my "Adobe-like popup buttons in a toolbar," which I already have another post on).
    What's the best way to add this. Do I add it to the draw method of the button? Of the action? Something completely different?
    Thanks!
    Sam

    Darryl.Burke wrote:
    You really find it easier to do custom painting?
    Well, in this case, yeah. The method above was really simple (ignoring the settings of the ints, which are just to make it easy to read, it's only like three lines of code).
    I can be sure that there will always be a triangle, perfectly set in the corner of the button, pointing directly down into the corner. I don't need to worry about whether they have the font installed and whether it will look the same on a PC or Mac. When I position it I don't need to do any weird rotating of the character to 45 degrees. I can put it so that it's in the bottom-right corner without needing to first figure out the width and height of the character in the user's version of the font. Also, it will continue to work perfectly well if I decide to add text to the button, which would be very complicated with your method if it's even possible.
    I liked your suggestion as thinking outside the box, but in the end I thought this was easier and more effective.
    Thanks for all the help though!

  • Problem with Showing Next Button in Advanced Action

    I'm having problem using advanced actions (using Captivate 5.5) to show the next button after the user clicks three other buttons on the page.  I followed the directions here: http://blogs.adobe.com/captivate/2011/11/enabling-forced-navigation-for-your-interactive-s creens-in-adobe-captivate-5-5.html and also here: http://forums.adobe.com/message/4046433#4046433, although obviously not accurately.  Here are some screen shots to show what I've done. 
    From the slide properties panel
    The SSB_Completion Action
    The Scope Action (the schedule and budget actions follow the same format)
    And the slide timeline
    Thanks for any help - I'm about ready to pull my hair out with this.
    Debbie

    The check, conditional action is triggered on entering which slide? If it is the same slide as where the buttons with the standard actions sit, this condition will never result in True.
    I just answered a similar question in this thread:
    http://forums.adobe.com/message/4454104#4454104
    I think the best way is to have your present SSB.... action integrated in the different actions triggered by the buttons. Or is this not what you want: to have the Next button appear at the moment that the three other buttons have been clicked?
    Lilybiri

  • With per-message S/MIME enabled, the default action when replying to an encrypted message is to send that reply unencrypted.  Causes users to accidentally send originally encrypted content, back unencrypted.

    This seems counter-intuitive, are we doing something wrong or is this working as expected?
    When we have per-message S/MIME enabled on an iOS 8 device.  Everything works as expected and we have the ability to select when you are sending an email whether that email should be encrypted or not, but i've noticed that, when you receive an email encrypted with your S/MIME cert, read that email on your iOS8 device with per-message S/MIME enabled, and reply to, or forward, that message, the default action is to send that reply, or forward, unencrypted UNLESS you manually re-tap the little padlock button to re-encrypt the message.
    This seems broken.  I would imagine we would want the default action when replying or forwarding that encrypted message to be an encrypted reply or forward so as to keep the encryption intact.  I can't think of a time when you would actually want to send an unencrypted reply to an encrypted message, as doing so would send the originally encrypted content back, as unencrypted text therefore negating the point of ever encrypting it in the first place.
    I know we can set the iOS device to by default send ALL email as encrypted, but that's overkill.  Our users probably only get 1 or 2 encrypted emails a week, but when they do get those encrypted email we would want their replies and forwards to those email to also remain encrypted, and not open up the chance of one of these users forgetting to re-check the padlock button thus accidentally sending the originally encrypted content, out as an unencrypted message.
    Is this working as expected or are we doing something wrong?

    Hi,
    Thank you for your clarification.
    Yes, it seems you have installed all the updates for the Outlook.
    “Testing on a good computer” is a method to narrow down whether the cause is related a specific computer.
    For debugging tool, I think we can take a look at:
    1. RPCTrace log
    2. Process Monitor
    For RPCTrace log, it’s not that easy to capture. You must firstly replace some Outlook dll files before you can capture the log. Even more, the dll files can vary if the Outlook
    SP versions are different. So, It’s recommend to contact a Microsoft Support to capture and analyze the trace log.
    Thanks,
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Simon Wu
    TechNet Community Support

  • Im trying to create a fading button with a fading action.

    I can't figure out how to create a fading button with an additional action to it. I'll do my best to lay out how the actions should work: [red = not working]
    Button > roll over> fade> (that part I have down perfectly) click button> button temporarily replaced with text> roll out of text > process repeated in reverse for smooth fading.
    Every time I set up all these actions and get it the way I want, I run into a bunch of problems:
    Text box holder and text can not be over the button. (Where I need them to sit) When they sit over the button it blocks it from doing any of its specified actions. So I'll make the text box and text a hidden item, then they lose their transition and start flickering when they are interacted with.
    This is basically the last piece of my clients new site and I just need to figure this one little thing out. Please help if possible!

    Try to group the elements so they work together.

  • Can we perform two actions with one button with two clicks one after other?

    Sir,
    can we perform two actions with one button with two clicks one after other?
    I want that when I click an Add Button first time it add data to the database and when I click again this button it clear the form data to empty fields.
    Regards
    Tanvir

    In code it should be easy.
    The following code adds a button called butman with a text "ADD".
    It then registers a listener that will be called if the button is clicked.
    This listener then calls the runAddData method if you clicked on butman while it contained the "ADD" text and it will call the runClearData method otherwise.
    Therefore it will swap the button's functionality between ADD and CLEAR on every click.
    final Button butman = new Button("ADD");
    butman.setOnAction(new EventHandler<ActionEvent>() {
              @Override
              public void handle(ActionEvent t) {
                        if (butman.getText().equals("ADD")) {
                                  butman.setText("CLEAR");
                                  runAddData();
                        } else {
                                  butman.setText("ADD");
                                  runClearData();
                        } // END IF-THEN
              }});I hope this is what you wanted.
    Some extra food for thought.
    You might want to run the ADD and CLEAR methods in their own threads so that it can run in the back ground, without slowing down your user interface.
    I also like to rather reuse one button for multiple functionality in stead of making an application with hundreds of nodes only used rarely with masses of code to show and hide them if needed.

  • Custom button with action listener - will not invoke action listener

    Hi
    For whatever reason, I cannot find a concise example of a simple custom component that can invoke an action listener. The tutorials I've read so far either ignore this fundamental topic or only make the slightest make reference to it.
    The best I have come up with - in terms of a simple prototype is below... but, the action listener is never invoked.... Can someone tell me what I am missing (full code below). Hopefully, what is missing or incorrect will be obvious to you JSF experts out there.
    Thanks for any help!!
    -f
    tld
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
    <taglib>
      <tlib-version>0.01</tlib-version>
      <jsp-version>1.2</jsp-version>
      <short-name>jsfcustomcomponent</short-name>
      <uri>http://jsfcustomcomponent/</uri>
      <description><![CDATA[jsf custom component tags]]>  </description>
      <tag>
        <name>specialBtnTag</name>
        <tag-class>jsfcustomcomponent.SpecialBtnTag</tag-class>
        <attribute>
          <name>value</name>
          <required>true</required>
          <rtexprvalue>true</rtexprvalue>
          <description><![CDATA[button value]]></description>
        </attribute>
        <attribute>
          <name>actionListener</name>
          <required>true</required>
          <rtexprvalue>true</rtexprvalue>
          <description><![CDATA[action listener]]> </description>
        </attribute>
      </tag>
    </taglib>
    SpecialBtnComponent
    package jsfcustomcomponent;
    import javax.faces.component.*;
    import javax.faces.context.*;
    import javax.faces.el.*;
    import javax.faces.event.*;
    public class SpecialBtnComponent
        extends UIComponentBase implements ActionSource
        public static final String COMPONENT_TYPE = "SpecialBtnComponent";
        public static final String RENDERER_TYPE = "SpecialBtnRenderer";
        public String getFamily()
            return COMPONENT_TYPE;
        public SpecialBtnComponent()
            super();
            setRendererType(SpecialBtnComponent.RENDERER_TYPE);
        private String value;
        public void setValue(String value, FacesContext facesContext)
            this.value = value;
        public String getValue()
            if (null != value)
                return value;
            ValueBinding _vb = getValueBinding("value");
            if (_vb != null)
                return (String) _vb.getValue(getFacesContext());
            else
                return null;
        private MethodBinding action = null;
        public MethodBinding getAction()
            return action;
        public void setAction(MethodBinding methodBinding)
            this.action = action;
        private MethodBinding actionListener = null;
        public MethodBinding getActionListener()
            return (this.actionListener);
        public void setActionListener(MethodBinding methodBinding)
            this.actionListener = actionListener;
        public boolean isImmediate()
            return false;
        public void setImmediate(boolean _boolean)
            //this.immediate = immediate;
        public void addActionListener(ActionListener actionListener)
            addFacesListener(actionListener);
        public ActionListener[] getActionListeners()
            return (ActionListener[]) getFacesListeners(ActionListener.class);
        public void removeActionListener(ActionListener actionListener)
            removeFacesListener(actionListener);
        public Object saveState(FacesContext context)
            Object values[] = new Object[5];
            values[0] = super.saveState(context);
            values[1] = value;
            values[2] = saveAttachedState(context, action);
            values[3] = saveAttachedState(context, actionListener);
            return ( (Object) (values));
        public void restoreState(FacesContext context, Object state)
            Object values[] = (Object[]) state;
            super.restoreState(context, values[0]);
            value = (String) values[1];
            action = (MethodBinding) restoreAttachedState(context, values[2]);
            actionListener = (MethodBinding) restoreAttachedState(context, values[3]);
        public void broadcast(FacesEvent event) throws AbortProcessingException
            super.broadcast(event);
            if (event instanceof ActionEvent)
                FacesContext context = getFacesContext();
                MethodBinding mb = getActionListener();
                if (mb != null)
                    mb.invoke(context, new Object[]
                              {event});
                ActionListener listener = context.getApplication().getActionListener();
                if (listener != null)
                    listener.processAction( (ActionEvent) event);
        public void queueEvent(FacesEvent e)
            if (e instanceof ActionEvent)
                if (isImmediate())
                    e.setPhaseId(PhaseId.APPLY_REQUEST_VALUES);
                else
                    e.setPhaseId(PhaseId.INVOKE_APPLICATION);
            super.queueEvent(e);
    SpecialBtnRenderer
    package jsfcustomcomponent;
    import java.util.*;
    import javax.faces.component.*;
    import javax.faces.context.*;
    import javax.faces.event.*;
    import javax.faces.render.*;
    public class SpecialBtnRenderer
        extends Renderer
        String value;
        public SpecialBtnRenderer()
        public void decode(FacesContext context, UIComponent component)
            Map requestMap = context.getExternalContext().getRequestParameterMap();
            String clientId = component.getClientId(context);
            SpecialBtnComponent specialBtnComponent = (SpecialBtnComponent) component;
            String value = (String) requestMap.get(clientId);
            if (null != value)
                specialBtnComponent.setValue(value, context);
            ActionEvent actionEvent = new ActionEvent(specialBtnComponent);
            specialBtnComponent.queueEvent(actionEvent);
        public void encodeEnd(FacesContext context, UIComponent component) throws java.io.IOException
            SpecialBtnComponent specialBtnComponent = (SpecialBtnComponent) component;
            ResponseWriter writer = context.getResponseWriter();
            String clientId = component.getClientId(context);
            value = (String) component.getAttributes().get("value");
            if (value == null)
                value = "defaultValue";
            buildSpecialBtn(writer, value, clientId, specialBtnComponent);
        private void buildSpecialBtn(ResponseWriter writer, String value, String clientId, SpecialBtnComponent component) throws java.io.IOException
            writer.startElement("table", component);
            writer.startElement("tbody", component);
            writer.startElement("tr", component);
            writer.startElement("td", component);
            value = String.valueOf(value);
            writer.startElement("input", component);
            writer.writeAttribute("type", "submit", null);
            writer.writeAttribute("name", clientId, "clientId");
            writer.writeAttribute("value", value, null);
            writer.endElement("input");
            writer.endElement("td");
            writer.endElement("tr");
            writer.endElement("tbody");
            writer.endElement("table");
    SpecialBtnTag
    package jsfcustomcomponent;
    import javax.faces.component.*;
    import javax.faces.el.*;
    import javax.faces.webapp.*;
    import com.sun.faces.util.*;
    public class SpecialBtnTag
        extends UIComponentTag
        public String value = null;
        public String actionListener = null;
        public String getComponentType()
            return SpecialBtnComponent.COMPONENT_TYPE;
        public String getRendererType()
            return SpecialBtnComponent.RENDERER_TYPE;
        protected void setProperties(UIComponent component)
            super.setProperties(component);
            if (! (component instanceof SpecialBtnComponent))
                throw new IllegalStateException("Component " + component.toString() +
                                                " not expected type.  Expected: jsfcustomcomponent.SpecialBtnComponent.  Perhaps you�re missing a tag?");
            SpecialBtnComponent specialBtnComponent = (SpecialBtnComponent) component;
            if (value != null)
                if (isValueReference(value))
                    ValueBinding vb = Util.getValueBinding(value);
                    specialBtnComponent.setValueBinding("value", vb);
                else
                    throw new IllegalStateException("The value for �value� must be a ValueBinding.");
            if (actionListener != null)
                if (isValueReference(actionListener))
                    ValueBinding vb = Util.getValueBinding(actionListener);
                    specialBtnComponent.setValueBinding("actionListener", vb);
                else
                    throw new IllegalStateException("The value for �actionListener� must be a ValueBinding.");
        public void release()
            super.release();
            value = null;
            actionListener = null;
        public void setValue(String value)
            this.value = value;
        public String getValue()
            return this.value;
        public void setActionListener(String actionListener)
            this.actionListener = actionListener;
        public String getActionListener()
            return this.actionListener;
    jsp1.jsp
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@taglib uri="http://jsfcustomcomponent/" prefix="j"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
    <link rel="stylesheet" type="text/css" href="./stylesheet.css" title="Style">
    </head>
    <body>
    <f:view>
      <h:form id="form01">
        <h:outputText value="test special button with action listener"/>
        <j:specialBtnTag value="#{specialBtnBacking.specialBtnValue}" actionListener="#{specialBtnBacking.specialBtnActionListener}"/>
        <h:messages/>
        <h:outputText value="#{specialBtnBacking.outcome}"/>
      </h:form>
    </f:view>
    </body>
    </html>
    SpecialBtnBacking
    package specialbtn;
    import javax.faces.context.*;
    import javax.faces.event.*;
    public class SpecialBtnBacking
        private FacesContext context;
        public SpecialBtnBacking()
            this.setSpecialBtnValue("Special Button with action listener");
        private String specialBtnValue;
        public String getSpecialBtnValue()
            return this.specialBtnValue;
        public void setSpecialBtnValue(String specialBtnValue)
            this.specialBtnValue = specialBtnValue;
        private String outcome="actionlistener NOT invoked: click specialBtn above to test";
        public String getOutcome()
            return outcome;
        public void setOutcome(String outcome)
            this.outcome = outcome;
        public void specialBtnActionListener(ActionEvent evt)
            System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Jsp1Backing/specialBtnActionListener()!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
            this.outcome="***action listener invoked!!!***";
    faces-config.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
    <faces-config>
      <managed-bean>
        <managed-bean-name>specialBtnBacking</managed-bean-name>
        <managed-bean-class>specialbtn.SpecialBtnBacking</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
      </managed-bean>
      <component>
        <component-type>SpecialBtnComponent</component-type>
        <component-class>jsfcustomcomponent.SpecialBtnComponent</component-class>
        <component-extension>
          <renderer-type>SpecialBtnRenderer</renderer-type>
        </component-extension>
      </component>
      <render-kit>
        <renderer>
          <component-family>SpecialBtnComponent</component-family>
          <renderer-type>SpecialBtnRenderer</renderer-type>
          <renderer-class>jsfcustomcomponent.SpecialBtnRenderer</renderer-class>
        </renderer>
      </render-kit>
    </faces-config>
    web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
      <display-name>pagerWEB</display-name>
      <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.faces</url-pattern>
      </servlet-mapping>
      <jsp-config>
        <taglib>
          <taglib-uri>http://jsfcustomcomponent/</taglib-uri>
          <taglib-location>/WEB-INF/jsfcustomcomponent.tld</taglib-location>
        </taglib>
      </jsp-config>
      <servlet>
        <description>Added by JBuilder to compile JSPs with debug info</description>
        <servlet-name>debugjsp</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
        <init-param>
          <param-name>classdebuginfo</param-name>
          <param-value>true</param-value>
        </init-param>
        <load-on-startup>3</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>debugjsp</servlet-name>
        <url-pattern>*.jsp</url-pattern>
      </servlet-mapping>
    </web-app>

    got it working....
    The changes were:
    in "SpecialBtnRenderer"...
    --new--
                        mb.invoke(context, new Object[1]);
    --old--
                        mb.invoke(context, new Object[0]);
    in "SpecialBtnTag"...
    --new--
    import javax.faces.event.ActionEvent;
    --new--
                    MethodBinding mb = FacesContext.getCurrentInstance().getApplication().createMethodBinding(specialBtnListener, new Class[]{ActionEvent.class});
    --old--
                    MethodBinding mb = FacesContext.getCurrentInstance().getApplication().createMethodBinding(specialBtnListener, null);
    -Below is the entire application, again -- for those (like myself) who need concrete examples...
    I hope this helps someone else! --f
    jsp1.jsp
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@taglib uri="http://jsfcustomcomponent/" prefix="j"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
    <link rel="stylesheet" type="text/css" href="./stylesheet.css" title="Style">
    </head>
    <body>
    <f:view>
        <h:messages/>
      <h:form id="form01">
        <h:outputText value="test special button with action listener"/>
        <j:specialBtnTag value="#{specialBtnBacking.specialBtnValue}" specialBtnListener="#{specialBtnBacking.specialBtnActionListener}"/>
        <h:outputText value="#{specialBtnBacking.outcome}"/>
      </h:form>
    </f:view>
    </body>
    </html>
    SpecialBtnBacking
    package specialbtn;
    import javax.faces.context.*;
    import javax.faces.event.*;
    public class SpecialBtnBacking
        private FacesContext context;
        public SpecialBtnBacking()
            this.setSpecialBtnValue("Special Button with action listener");
        private String specialBtnValue;
        public String getSpecialBtnValue()
            return this.specialBtnValue;
        public void setSpecialBtnValue(String specialBtnValue)
            this.specialBtnValue = specialBtnValue;
        private String outcome = "actionlistener NOT invoked: click specialBtn above to test";
        public String getOutcome()
            return outcome;
        public void setOutcome(String outcome)
            this.outcome = outcome;
        public void specialBtnActionListener(ActionEvent evt)
            System.out.println("\n\n");
            System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Jsp1Backing/specialBtnActionListener()!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
            System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Jsp1Backing/specialBtnActionListener()!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
            System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Jsp1Backing/specialBtnActionListener()!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
            System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Jsp1Backing/specialBtnActionListener()!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
            System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Jsp1Backing/specialBtnActionListener()!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n");
            this.outcome = "***action listener invoked!!!***";
    jsfcustomcomponent.tld
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
    <taglib>
      <tlib-version>0.01</tlib-version>
      <jsp-version>1.2</jsp-version>
      <short-name>jsfcustomcomponent</short-name>
      <uri>http://jsfcustomcomponent/</uri>
      <description><![CDATA[jsf custom component tags]]>  </description>
      <tag>
        <name>specialBtnTag</name>
        <tag-class>jsfcustomcomponent.SpecialBtnTag</tag-class>
        <attribute>
          <name>value</name>
          <required>true</required>
          <rtexprvalue>true</rtexprvalue>
          <description><![CDATA[button value]]></description>
        </attribute>
        <attribute>
          <name>specialBtnListener</name>
          <required>true</required>
          <rtexprvalue>true</rtexprvalue>
          <description><![CDATA[action listener]]> </description>
        </attribute>
      </tag>
    </taglib>
    faces-config.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
    <faces-config>
      <managed-bean>
        <managed-bean-name>specialBtnBacking</managed-bean-name>
        <managed-bean-class>specialbtn.SpecialBtnBacking</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
      </managed-bean>
      <component>
        <component-type>SpecialBtnComponent</component-type>
        <component-class>jsfcustomcomponent.SpecialBtnComponent</component-class>
        <component-extension>
          <renderer-type>SpecialBtnRenderer</renderer-type>
        </component-extension>
      </component>
      <render-kit>
        <renderer>
          <component-family>SpecialBtnComponent</component-family>
          <renderer-type>SpecialBtnRenderer</renderer-type>
          <renderer-class>jsfcustomcomponent.SpecialBtnRenderer</renderer-class>
        </renderer>
      </render-kit>
    </faces-config>
    SpecialBtnComponent.java
    package jsfcustomcomponent;
    import javax.faces.component.*;
    import javax.faces.context.*;
    import javax.faces.el.*;
    import javax.faces.event.*;
    public class SpecialBtnComponent
        extends UIComponentBase implements ActionSource
        public static final String COMPONENT_TYPE = "SpecialBtnComponent";
        public static final String RENDERER_TYPE = "SpecialBtnRenderer";
        public String getFamily()
            return COMPONENT_TYPE;
        public SpecialBtnComponent()
            super();
            setRendererType(SpecialBtnComponent.RENDERER_TYPE);
        private String value;
        public void setValue(String value, FacesContext facesContext)
            this.value = value;
        public String getValue()
            if (null != this.value)
                return this.value;
            ValueBinding _vb = getValueBinding("value");
            if (_vb != null)
                return (String) _vb.getValue(getFacesContext());
            else
                return null;
        private MethodBinding specialBtnListener = null;
        public MethodBinding getActionListener()
            return (this.specialBtnListener);
        public void setActionListener(MethodBinding actionListener)
            this.specialBtnListener = actionListener;
        public Object saveState(FacesContext context)
            Object values[] = new Object[3];
            values[0] = super.saveState(context);
            values[1] = saveAttachedState(context, this.specialBtnListener);
            values[2] = this.value;
            return (values);
        public void restoreState(FacesContext context, Object state)
            Object values[] = (Object[]) state;
            super.restoreState(context, values[0]);
            this.specialBtnListener = (MethodBinding) restoreAttachedState(context, values[1]);
            this.value = (String) restoreAttachedState(context, values[2]);
        public void broadcast(FacesEvent event) throws AbortProcessingException
            super.broadcast(event);
            if (event instanceof ActionEvent)
                FacesContext context = getFacesContext();
                MethodBinding mb = this.getActionListener();
                if (mb != null)
                    try
                        mb.invoke(context, new Object[]
                                  {event});
                    catch (EvaluationException ex)
                        System.out.println("SpecialBtnComponent/broadcast(FacesEvent event)...EvaluationException encountered - ex.getMessage()=" + ex.getMessage());
                        ex.printStackTrace();
                ActionListener actionListener = context.getApplication().getActionListener();
                if (actionListener != null)
                    actionListener.processAction( (ActionEvent) event);
        public void queueEvent(FacesEvent e)
            if (e instanceof ActionEvent)
                e.setPhaseId(PhaseId.INVOKE_APPLICATION);
            super.queueEvent(e);
        public MethodBinding getAction()
            return null;
        public void setAction(MethodBinding methodBinding)
        public boolean isImmediate()
            return false;
        public void setImmediate(boolean _boolean)
        public void addActionListener(ActionListener actionListener)
            addFacesListener(actionListener);
        public ActionListener[] getActionListeners()
            return (ActionListener[]) getFacesListeners(ActionListener.class);
        public void removeActionListener(ActionListener actionListener)
            removeFacesListener(actionListener);
    SpecialBtnTag.java
    package jsfcustomcomponent;
    import javax.faces.component.*;
    import javax.faces.el.*;
    import javax.faces.webapp.*;
    import com.sun.faces.util.*;
    import javax.faces.context.FacesContext;
    import javax.faces.event.ActionEvent;
    public class SpecialBtnTag
        extends UIComponentTag
        public String value = null;
        public String specialBtnListener = null;
        private SpecialBtnComponent specialBtnComponent;
        public SpecialBtnTag()
            super();
        public String getComponentType()
            return SpecialBtnComponent.COMPONENT_TYPE;
        public String getRendererType()
            return SpecialBtnComponent.RENDERER_TYPE;
        protected void setProperties(UIComponent component)
            super.setProperties(component);
            if (! (component instanceof SpecialBtnComponent))
                throw new IllegalStateException("Component " + component.toString() +
                                                " not expected type.  Expected: jsfcustomcomponent.SpecialBtnComponent.  Perhaps you�re missing a tag?");
            specialBtnComponent = (SpecialBtnComponent) component;
            if (value != null)
                if (isValueReference(value))
                    ValueBinding vb = Util.getValueBinding(value);
                    specialBtnComponent.setValueBinding("value", vb);
                else
                    throw new IllegalStateException("The value for �value� must be a ValueBinding.");
            if (specialBtnListener != null)
                if (isValueReference(specialBtnListener))
                    MethodBinding mb = FacesContext.getCurrentInstance().getApplication().createMethodBinding(specialBtnListener, new Class[]{ActionEvent.class});
                    ( (SpecialBtnComponent) component).setActionListener(mb);
                else
                    MethodBinding mb = Util.createConstantMethodBinding(specialBtnListener);
                    ( (SpecialBtnComponent) component).setActionListener(mb);
        public void release()
            super.release();
            value = null;
            specialBtnListener = null;
        public void setValue(String value)
            this.value = value;
        public String getValue()
            return this.value;
        public void setSpecialBtnListener(String specialBtnListener)
            this.specialBtnListener = specialBtnListener;
        public String getSpecialBtnListener()
            return this.specialBtnListener;
    SpecialBtnRenderer
    package jsfcustomcomponent;
    import java.util.*;
    import javax.faces.component.*;
    import javax.faces.context.*;
    import javax.faces.event.*;
    import javax.faces.render.*;
    import javax.faces.el.MethodBinding;
    import javax.faces.el.*;
    public class SpecialBtnRenderer
        extends Renderer
        String value;
        public SpecialBtnRenderer()
            super();
        public void decode(FacesContext context, UIComponent component)
            try
                Map requestMap = context.getExternalContext().getRequestParameterMap();
                String clientId = component.getClientId(context);
                SpecialBtnComponent specialBtnComponent = (SpecialBtnComponent) component;
                String value = (String) requestMap.get(clientId);
                if (null != value)
                    specialBtnComponent.setValue(value, context);
                    MethodBinding mb = specialBtnComponent.getActionListener();
                    if (mb != null)
                        System.out.println("SpecialBtnRenderer/decode...mb.getExpressionString()=" + mb.getExpressionString());
                        //mb.invoke(context, new Object[0]);
                        mb.invoke(context, new Object[1]);
                    ActionEvent actionEvent = new ActionEvent(specialBtnComponent);
                    specialBtnComponent.queueEvent(actionEvent);
            catch (EvaluationException ex)
                ex.printStackTrace();
        public void encodeEnd(FacesContext context, UIComponent component) throws java.io.IOException
            SpecialBtnComponent specialBtnComponent = (SpecialBtnComponent) component;
            ResponseWriter writer = context.getResponseWriter();
            String clientId = component.getClientId(context);
            value = (String) component.getAttributes().get("value");
            if (value == null)
                value = "defaultValue";
            buildSpecialBtn(writer, value, clientId, specialBtnComponent);
        private void buildSpecialBtn(ResponseWriter writer, String value, String clientId, SpecialBtnComponent component) throws java.io.IOException
            writer.startElement("table", component);
            writer.startElement("tbody", component);
            writer.startElement("tr", component);
            writer.startElement("td", component);
            value = String.valueOf(value);
            writer.startElement("input", component);
            writer.writeAttribute("type", "submit", null);
            writer.writeAttribute("name", clientId, "clientId");
            writer.writeAttribute("value", value, null);
            writer.endElement("input");
            writer.endElement("td");
            writer.endElement("tr");
            writer.endElement("tbody");
            writer.endElement("table");
    web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
      <display-name>pagerWEB</display-name>
      <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.faces</url-pattern>
      </servlet-mapping>
      <jsp-config>
        <taglib>
          <taglib-uri>http://jsfcustomcomponent/</taglib-uri>
          <taglib-location>/WEB-INF/jsfcustomcomponent.tld</taglib-location>
        </taglib>
      </jsp-config>
    </web-app>

  • Help creating buttons with actions

    I am looking for a way to program buttons with actions and conditional outputs. As an example: After populating a set number of cells, I would like to be able to program a button to copy the contents of those cellsto another set of cells. Also, a button programmed to clear the contents of the cellswould be nice.
    anyone?

    Buttons are typically associated to macros (VBA or other). As Numbers 1.0 does not support any macros, I am afraid that you are out of look.
    To copy values is very simple with formulas of course (=a1 and so on), but you probably know that, and need something more powerful.

Maybe you are looking for

  • IPad App Store won't let me download apps

    iPad App Store not letting me download apps anymore?!?!?!

  • Jabber 4 Everyone default service profile

    Hello all, A customer running UCM 9.1.2 with IM&P 9.1.2. They have rolled out Jabber Desktop as the default application for IM and Presence for the organization. We have setup several "SERVICE PROFILES" inside of UCM to differentiate between Ehanced

  • RFE Proposal Set Operations - RFC

    Greetings, this is a proposal for a Request for Enhancement in the JDK. It is posted here for the review and comment. Basically an RFC on a RFE. =) Please indicate your comments on the matter. The proposal is to have a set of operations for perfomrin

  • How to apply image texture to imported shape

    This is regarding applying am image texture to an object. I am able to apply an image texture to a Sphere. Sphere mySphere = new Sphere(1.0f, Sphere.GENERATE_NORMALS | Sphere.GENERATE_TEXTURE_COORDS, 10,appear); objRoot.addChild(mySphere); But when i

  • Call a VI that calls a SubvI, the SubVI calls the VI -- non recursive solution

    I need a example how I can call a VI a second time when i have called some SubVI's. The last SubVI can call the first SubVI or the main VI. How can I do this? My problem is that recursive solutions are not allowed in LabVIEW. Suche ein Beispiel, wie