How to persist state of JCheckBox component (Swing)?

I've been hunting all over the place for a simple way to save the state of a JCheckBox item, so that the next time the program is run the state is restored. My window sizes are restored, and tab selections are remembered, but how do I persist the check box state?
I haven't been able to find any information on this ... can anyone help?
Cheers,
Seumas42

It would have been handy to mention that the app. already uses the [Swing Application Framework (JSR 296)|https://appframework.dev.java.net/]. The blurb of the framework has a series of feature, one of which is.
- Support for managing and loading resources, like strings, formatted messages, images, colors, fonts, and other types common to desktop applications.
So it seems the functionality you want is there, but I have not delved into this API yet, so am unable to advise further, but note that is has a dedicated forum.

Similar Messages

  • How can I make non-inspectable component properties persist from design to runtime?

    Hey,
    I have two components (lets call them A and B) which have normal inspectable properties (e.g. NAME and AGE) which allow you to enter values via the component inspector. When I type the value for NAME in component B (via the component inspector) I communicate via a singleton class and store this value in a NON INSPECTABLE property located in component A.
    When I run the movie, I want to access this non inspectable property within component A; however, it is always null - the value will not persist from design time to runtime. I check that the value is set at design time by tracing the A's non inspectable property once component B has set it - and it does indeed work, so I know component B has managed to set the correct value in A.
    Basically, what I need to know is, how do you persist properties of a component from design to runtime, without having to make properties inspectable and having to manually type property values via the component inspector?
    Many thanks

    Hi
    I would think <componentInstanceOfB>.NAME would give you the current value of NAME in the component B. This can be accessed by any component (say A),  when A knows the instance name of the component on the stage. So probably all you need to know is tell the instanceOfA the name of instace of B and then instanceOfA can access the value as <instanceOfB>.NAME.
    Hope this helps.
    Cheers
    Karthik

  • How to read checked or unchecked of JCheckBox in swing?

    how to read JCheckBox in swing,i m not able to do that, every time its take true value only.

    In the future Swing related questions should be posted into the Swing forum.
    What method are you calling now? I don't think you are calling the correct method.

  • How  to  save  content of a  whole  swing  page

    Hi everyone ..
    can any of u tell me ,how to save contents of a java swing page in a single file with all components viz . textfield,textarea,JTable,JPanel etc .. with their respective formatting ie.e Font,Color etc ..
    Plz let me know it soon .. its very urgent ..
    Can I save it as Screenshot or Jpeg Image .. or how to go about it .
    Mohit

    Sure: see below!
    WARNING: this code will not compile as is because it uses some other classes from my personal code library (FileUtil & StringUtil). The particular methods of those classes which are used below are trivial methods that anyone can write, which is is why I have not posted them as well. So, to get the code below to compile, you can
    a) write your own versions of these classes or
    b) simply add the necessary methods to this class or
    c) simply comment out their usage (in the case of StringUtil, which is just used for arg checking)
    But if you still want me to post them, then I can post the relevant fragments of those classes.
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.image.*;
    import java.io.*;
    import javax.imageio.*;
    import javax.swing.*;
    import bb.io.FileUtil;
    import bb.util.StringUtil;
    * Class which supports taking screen shots of the entire desktop, AWT Components, or Swing JComponents.
    * This functionality is implemented in a series of <code>take</code> methods, each of which returns a BufferedImage.
    * This class also offers convenience <code>write</code> methods for storing BufferedImages to files.
    * <p>
    * The images taken by this class should be the precise images seen on the screen.
    * <b>However, the images written to files may deviate from the originals.</b>
    * One obvious cause is limitations of the chosen file format (especially with lossy formats like jpeg).
    * A subtle issue can occur, however, even when using lossless formats like png:
    * if the file is subsequently opened by another application,
    * that application may rescale the image, which can often cause visible artifacts.
    * <blockquote>
    *     To see this last problem on Windows XP,
    *     call {@link #take()} which returns an image of the entire desktop and write it to a file,
    *     and then open the file with XP's default graphics file viewer ("Windows Picture And Fax Viewer").
    *     This program shrinks the desktop image in order to fit it inside the program's window,
    *     and rescaling artifacts are readily seen, especially if the desktop image has any kind of text in it.
    *     If "Windows Picture And Fax Viewer" instead cropped the image or had a scroll pane, then this should not happen.
    * </blockquote>
    * <p>
    * Acknowledgement: this class was inspired by the program
    * <a href="http://www.discoverteenergy.com/files/ScreenImage.java">ScreenImage</a>.
    * Differences from the above program:
    * <ol>
    *  <li>this class uses {@link BufferedImage#TYPE_INT_ARGB} instead of {@link BufferedImage#TYPE_INT_RGB} in order to preserve alpha</li>
    *  <li>this class's {@link #formatNameDefault default image file format} is PNG instead of JPEG</li>
    *  <li>this class's <code>take</code> methods simply take snapshots and never have the side effect of writing image files</li>
    *  <li>this class added a version of <code>take</code> which can get a snapshot of a region of a Component</li>
    *  <li>
    *          when taking a snapshot of a region of a Component or JComponent,
    *          the Rectangle that specifies the region always has coordinates relative to the origin of the item
    *  </li>
    * </ol>
    * See also:
    * <a href="http://forum.java.sun.com/thread.jspa?forumID=57&threadID=597936">forum discussion #1 on screen shots</a>
    * <a href="http://forum.java.sun.com/thread.jspa?forumID=256&threadID=529933">forum discussion #2 on screen shots</a>
    * <a href="http://forum.java.sun.com/thread.jspa?forumID=57&threadID=622393">forum discussion #3 on screen shots</a>.
    * <p>
    * It might appear that this class is multithread safe
    * because it is immutable (both its immediate state, as well as the deep state of its fields).
    * However, typical Java gui code is not multithread safe, in particular, once a component has been realized
    * it should only be accessed by the event dispatch thread
    * (see <a href="http://java.sun.com/developer/JDCTechTips/2003/tt1208.html#1">Multithreading In Swing</a>
    * and <a href="http://java.sun.com/developer/JDCTechTips/2004/tt0611.html#1">More Multithreading In Swing</a>).
    * So, in order to enforce that requirement, all methods of this class which deal with components
    * require the calling thread to be the event dispatch thread.
    * See the javadocs of each method for its thread requirements.
    * <p>
    * @author bbatman
    public class ScreenShot {
         // -------------------- constants --------------------
         * Defines the image type for the BufferedImages that will create when taking snapshots.
         * The current value is {@link BufferedImage#TYPE_INT_ARGB}, which was chosen because
         * <ol>
         *  <li>the 'A' in its name means that it preserves any alpha in the image (cannot use the "non-A" types)</li>
         *  <li>the "_INT" types are the fastest types (the "BYTE" types are slower)
         * </ol>
         * @see <a href="http://forum.java.sun.com/thread.jspa?threadID=709109&tstart=0">this forum posting</a>
         private static final int imageType = BufferedImage.TYPE_INT_ARGB;
         * Default value for the graphics file format that will be written by this class.
         * The current value is "png" because the PNG format is by far the best lossless format currently available.
         * Furthermore, java cannot write to GIF anyways (only read).
         * <p>
         * @see <a href="http://www.w3.org/TR/PNG/">Portable Network Graphics (PNG) Specification (Second Edition)</a>
         * @see <a href="http://www.w3.org/QA/Tips/png-gif">GIF or PNG</a>
         * @see <a href="http://www.libpng.org/pub/png/">PNG Home Site</a>
         public static final String formatNameDefault = "png";
         // -------------------- take --------------------
         // desktop versions:
         * Takes a screen shot of the entire desktop.
         * <p>
         * Any thread may call this method.
         * <p>
         * @return a BufferedImage representing the entire screen
         * @throws AWTException if the platform configuration does not allow low-level input control. This exception is always thrown when GraphicsEnvironment.isHeadless() returns true
         * @throws SecurityException if createRobot permission is not granted
         public static BufferedImage take() throws AWTException, SecurityException {
              Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
              Rectangle region = new Rectangle(0, 0, d.width, d.height);
              return take(region);
         * Takes a screen shot of the specified region of the desktop.
         * <p>
         * Any thread may call this method.
         * <p>
         * @param region the Rectangle within the screen that will be captured
         * @return a BufferedImage representing the specified region within the screen
         * @throws IllegalArgumentException if region == null; region's width and height are not greater than zero
         * @throws AWTException if the platform configuration does not allow low-level input control. This exception is always thrown when GraphicsEnvironment.isHeadless() returns true
         * @throws SecurityException if createRobot permission is not granted
         public static BufferedImage take(Rectangle region) throws IllegalArgumentException, AWTException, SecurityException {
              if (region == null) throw new IllegalArgumentException("region == null");
              return new Robot().createScreenCapture( region );     // altho not currently mentioned in its javadocs, if you look at its source code, the Robot class is synchronized so it must be multithread safe, which is why any thread should be able to call this method
         // AWT Component versions:
         * Takes a screen shot of that part of the desktop whose area is where component lies.
         * Any other gui elements in this area, including ones which may lie on top of component,
         * will be included, since the result always reflects the current desktop view.
         * <p>
         * Only {@link EventQueue}'s {@link EventQueue#isDispatchThread dispatch thread} may call this method.
         * <p>
         * @param component AWT Component to take a screen shot of
         * @return a BufferedImage representing component
         * @throws IllegalArgumentException if component == null; component's width and height are not greater than zero
         * @throws IllegalStateException if calling thread is not EventQueue's dispatch thread
         * @throws AWTException if the platform configuration does not allow low-level input control. This exception is always thrown when GraphicsEnvironment.isHeadless() returns true
         * @throws SecurityException if createRobot permission is not granted
         public static BufferedImage take(Component component) throws IllegalArgumentException, IllegalStateException, AWTException, SecurityException {
              if (component == null) throw new IllegalArgumentException("component == null");
              if (!EventQueue.isDispatchThread()) throw new IllegalStateException("calling thread (" + Thread.currentThread().toString() + ") is not EventQueue's dispatch thread");
              Rectangle region = component.getBounds();
              region.x = 0;     // CRITICAL: this and the next line are what make region relative to component
              region.y = 0;
              return take(component, region);
         * Takes a screen shot of that part of the desktop whose area is the region relative to where component lies.
         * Any other gui elements in this area, including ones which may lie on top of component,
         * will be included, since the result always reflects the current desktop view.
         * <p>
         * Only {@link EventQueue}'s {@link EventQueue#isDispatchThread dispatch thread} may call this method.
         * <p>
         * @param component AWT Component to take a screen shot of
         * @param region the Rectangle <i>relative to</i> component that will be captured
         * @return a BufferedImage representing component
         * @throws IllegalArgumentException if component == null; component's width and height are not greater than zero; region == null
         * @throws IllegalStateException if calling thread is not EventQueue's dispatch thread
         * @throws AWTException if the platform configuration does not allow low-level input control. This exception is always thrown when GraphicsEnvironment.isHeadless() returns true
         * @throws SecurityException if createRobot permission is not granted
         public static BufferedImage take(Component component, Rectangle region) throws IllegalArgumentException, IllegalStateException, AWTException, SecurityException {
              if (component == null) throw new IllegalArgumentException("component == null");
              if (region == null) throw new IllegalArgumentException("region == null");
              if (!EventQueue.isDispatchThread()) throw new IllegalStateException("calling thread (" + Thread.currentThread().toString() + ") is not EventQueue's dispatch thread");
              Point p = new Point(0, 0);
              SwingUtilities.convertPointToScreen(p, component);
              region.x += p.x;
              region.y += p.y;
              return take(region);
         // Swing JComponent versions:
         * Takes a screen shot of <i>just</i> jcomponent
         * (no other gui elements will be present in the result).
         * <p>
         * Only {@link EventQueue}'s {@link EventQueue#isDispatchThread dispatch thread} may call this method.
         * <p>
         * @param jcomponent Swing JComponent to take a screen shot of
         * @return a BufferedImage representing jcomponent
         * @throws IllegalArgumentException if jcomponent == null
         * @throws IllegalStateException if calling thread is not EventQueue's dispatch thread
         public static BufferedImage take(JComponent jcomponent) throws IllegalArgumentException, IllegalStateException {
              if (jcomponent == null) throw new IllegalArgumentException("jcomponent == null");
              if (!EventQueue.isDispatchThread()) throw new IllegalStateException("calling thread (" + Thread.currentThread().toString() + ") is not EventQueue's dispatch thread");
              Dimension d = jcomponent.getSize();
              Rectangle region = new Rectangle(0, 0, d.width, d.height);
              return take(jcomponent, region);
         * Takes a screen shot of <i>just</i> the specified region of jcomponent
         * (no other gui elements will be present in the result).
         * <p>
         * Only {@link EventQueue}'s {@link EventQueue#isDispatchThread dispatch thread} may call this method.
         * <p>
         * @param jcomponent Swing JComponent to take a screen shot of
         * @param region the Rectangle <i>relative to</i> jcomponent that will be captured
         * @return a BufferedImage representing the region within jcomponent
         * @throws IllegalArgumentException if jcomponent == null; region == null
         * @throws IllegalStateException if calling thread is not EventQueue's dispatch thread
         public static BufferedImage take(JComponent jcomponent, Rectangle region) throws IllegalArgumentException, IllegalStateException {
              if (jcomponent == null) throw new IllegalArgumentException("jcomponent == null");
              if (region == null) throw new IllegalArgumentException("region == null");
              if (!EventQueue.isDispatchThread()) throw new IllegalStateException("calling thread (" + Thread.currentThread().toString() + ") is not EventQueue's dispatch thread");
              boolean opaquenessOriginal = jcomponent.isOpaque();
              Graphics2D g2d = null;
              try {
                   jcomponent.setOpaque( true );
                   BufferedImage image = new BufferedImage(region.width, region.height, imageType);
                   g2d = image.createGraphics();
                   g2d.translate(-region.x, -region.y) ;     // CRITICAL: this and the next line are what make region relative to component
                   g2d.setClip( region );
                   jcomponent.paint( g2d );
                   return image;
              finally {
                   jcomponent.setOpaque( opaquenessOriginal );
                   if (g2d != null) g2d.dispose();
         // -------------------- write --------------------
         * Writes image to a newly created File named fileName.
         * The graphics format will either be the extension found in fileName
         * or else {@link #formatNameDefault} if no extension exists.
         * <p>
         * Any thread may call this method.
         * <p>
         * @param image the BufferedImage to be written
         * @param fileName name of the File that will write image to
         * @throws IllegalArgumentException if image == null; fileName is blank
         * @throws IOException if an I/O problem occurs
         public static void write(BufferedImage image, String fileName) throws IllegalArgumentException, IOException {
              if (image == null) throw new IllegalArgumentException("image == null");
              if (StringUtil.isBlank(fileName)) throw new IllegalArgumentException("fileName is blank");
              File file = new File(fileName);
              String formatName = FileUtil.getExtension(file);
              if (formatName.length() == 0) formatName = formatNameDefault;
              write(image, formatName, file);
         * Writes image to file in the format specified by formatName.
         * <p>
         * Any thread may call this method.
         * <p>
         * @param image the BufferedImage to be written
         * @param formatName the graphics file format (e.g. "pnj", "jpeg", etc);
         * must be in the same set of values supported by the formatName arg of {@link ImageIO#write(RenderedImage, String, File)}
         * @param file the File that will write image to
         * @throws IllegalArgumentException if image == null; type is blank; file == null
         * @throws IOException if an I/O problem occurs
         public static void write(BufferedImage image, String formatName, File file) throws IllegalArgumentException, IOException {
              if (image == null) throw new IllegalArgumentException("image == null");
              if (StringUtil.isBlank(formatName)) throw new IllegalArgumentException("formatName is blank");
              if (file == null) throw new IllegalArgumentException("file == null");
              ImageIO.write(image, formatName, file);
         // -------------------- Test (inner class) --------------------
         * An inner class that consists solely of test code for the parent class.
         * <p>
         * Putting all the test code in this inner class (rather than a <code>main</code> method of the parent class) has the following benefits:
         * <ol>
         *  <li>test code is cleanly separated from working code</li>
         *  <li>any <code>main</code> method in the parent class is now reserved for a true program entry point</li>
         *  <li>test code may be easily excluded from the shipping product by removing all the Test class files (e.g. on Windoze, delete all files that end with <code>$Test.class</code>)</li>
         * </ol>
         * Putting all the test code in this inner class (rather than a shadow external class) has the following benefits:
         * <ol>
         *  <li>non-public members may be accessed</li>
         *  <li>the test code lives very close to (so is easy to find) yet is distinct from the working code</li>
         *  <li>there is no need to set up a test package structure</li>
         * </ol>
         public static class Test {
              public static void main(String[] args) throws Exception {
                   Gui gui = new Gui();
                   EventQueue.invokeLater( gui.getBuilder() );
                   new Timer(1000, gui.getTimerActionListener()).start();
              private static class Gui {
                   private Frame frame;
                   private TextField textField;
                   private JFrame jframe;
                   private JLabel jlabel;
                   private JPanel jpanel;
                   private int count = 0;
                   private Runnable getBuilder() {
                        return new Runnable() {
                             public void run() {
                                  System.out.println("Creating a Frame with AWT widgets inside...");
                                  frame = new Frame("ScreenShot.Test.main Frame");
                                  textField = new TextField();
                                  textField.setText( "Waiting for the screen shot process to automatically start..." );
                                  frame.add(textField);                              
                                  frame.pack();
                                  frame.setLocationRelativeTo(null);     // null will center it in the middle of the screen
                                  frame.setVisible(true);
                                  System.out.println("Creating a JFrame with Swing widgets inside...");
                                  jframe = new JFrame("ScreenShot.Test.main JFrame");
                                  jlabel = new JLabel(
                                       "<html>" +
                                            "To be, or not to be: that is the question:" + "<br>" +
                                            "Whether 'tis nobler in the mind to suffer" + "<br>" +
                                            "The slings and arrows of outrageous fortune," + "<br>" +
                                            "Or to take arms against a sea of troubles," + "<br>" +
                                            "And by opposing end them?" + "<br>" +
                                            "To die: to sleep; No more;" + "<br>" +
                                            "and by a sleep to say we end" + "<br>" +
                                            "The heart-ache and the thousand natural shocks" + "<br>" +
                                            "That flesh is heir to," + "<br>" +
                                            "'tis a consummation Devoutly to be wish'd." + "<br>" +
                                       "</html>"
                                  jpanel = new JPanel();
                                  jpanel.setBorder( BorderFactory.createEmptyBorder(20, 20, 20, 20) );
                                  jpanel.add(jlabel);
                                  jframe.getContentPane().add(jpanel);
                                  jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                                  jframe.pack();
                                  Point p = frame.getLocation();
                                  p.translate(0, frame.getSize().height  + 10);
                                  jframe.setLocation(p);
                                  jframe.setVisible(true);
                   private ActionListener getTimerActionListener() {
                        return new ActionListener() {
                             public void actionPerformed(ActionEvent evt) {
                                  try {
                                       switch (count++) {
                                            case 0:
                                                 displayMessage("Taking a screen shot of the entire desktop...");
                                                 ScreenShot.write( ScreenShot.take(), "desktop.png" );
                                                 break;
                                            case 1:
                                                 displayMessage("Taking a screen shot of the central rectangle of the desktop...");
                                                 Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
                                                 Rectangle region = getCenteredRectangle(d);
                                                 ScreenShot.write( ScreenShot.take(region), "desktopCenteredRectangle.png" );
                                                 break;
                                            case 2:
                                                 displayMessage("Taking a screen shot of the TextField...");
                                                 ScreenShot.write( ScreenShot.take(textField), "textField.png" );
                                                 break;
                                            case 3:
                                                 displayMessage("Taking a screen shot of the central rectangle of the TextField...");
                                                 d = textField.getSize();
                                                 region = getCenteredRectangle(d);
                                                 ScreenShot.write( ScreenShot.take(textField, region), "textFieldCenteredRectangle.png" );
                                                 break;
                                            case 4:
                                                 displayMessage("Taking a screen shot of the JLabel...");
                                                 ScreenShot.write( ScreenShot.take(jlabel), "jlabel.png" );
                                                 break;
                                            case 5:
                                                 displayMessage("Taking a screen shot of the central rectangle of the JLabel...");
                                                 d = jpanel.getSize();
                                                 region = getCenteredRectangle(d);
                                                 ScreenShot.write( ScreenShot.take(jpanel, region), "jpanelCenteredRectangle.png" );
                                                 break;
                                            default:
                                                 System.exit(0);
                                                 break;
                                  catch (Throwable t) {
                                       t.printStackTrace(System.err);
                             private void displayMessage(String text) {
                                  System.out.println(text);
                                  textField.setText(text);
                                  frame.pack();
                                  frame.invalidate();
                             private Rectangle getCenteredRectangle(Dimension d) {
                                  int x = d.width / 4;
                                  int y = d.height / 4;
                                  int width = d.width / 2;
                                  int height = d.height / 2;
                                  return new Rectangle(x, y, width, height);
    }

  • Please help me........for writing enititybean with persistent state

    I am new person in ejb,actually i am working on one module where ejb deployment
    is there in websphere 4.0 with oracle database ,where as my module form is just retrieving
    data from database for user but doest not create it.So according to sun specification
    entity bean should have create() and findByPrimaryKey() methods but in my case i have to
    just retrieve data i.e findByAllData(). Here i am passing a parameter institute_id,
    which is not a primarykey in this table which retrives records under that particular institute id
    but in my case entitybean doesn't initialize to any particular
    primary id since create() method is not existing in my bean so container doesn't
    have any account of primary key.So now it won't store the data in persistent
    state in the container because of none of the create() method for primarykey.But
    we want to store the data in entity bean in the appliaction server in the persistent
    state so how it can be done.
    ==========================================
    My databse table is :
    Table ims_class_mst
    columns class_id(primarykey),class_name,priority,institute_id
    =============================================
    My home interface is
    public interface StcaHome extends javax.ejb.EJBHome {
    public Collection findByAllPrimaryKey(Integer institute_id)
    throws FinderException, RemoteException;
    //collection is returning class_id,class_name through class stcakey and in parameter
    //is institute_id
    =======================================================================
    My bean is:
    public class StcaBean implements javax.ejb.EntityBean {
    public int class_id;
    public String class_name;
    public int institute_id;
    EntityContext ctx=null;
         public Collection ejbFindByAllPrimaryKey(Integer pk)throws FinderException
              Connection con = null;
              try{
                   con = getConnection();
                   PreparedStatement ps=con.prepareStatement("select class_id,class_name from ims_class_mst where institute_id = ?");
                   ps.setInt(1,pk.intValue());
                   ResultSet rs=ps.executeQuery();
                   LinkedList queryMatches=new LinkedList();
                   while(rs.next())
                        StcaKey stcakey=new StcaKey(rs.getString(1),rs.getString(2));
                        queryMatches.add(stcakey);
                   rs.close();
                   ps.close();
                   return queryMatches;
              }catch(SQLException sqle)
                   throw new EJBException(sqle);
              }finally{
                   try{
                        if(con!=null)
                             con.close();
                   }catch(SQLException sqle)
         private Connection getConnection()
              try{
                   Context context = new InitialContext();
                   DataSource datasource = (DataSource) context.lookup("java:comp/env/jdbc/SyllabusDB");
                   return datasource.getConnection();
              }catch(javax.naming.NamingException namingexception)
                   namingexception.printStackTrace();
                   throw new EJBException(namingexception);
              }catch(java.sql.SQLException sqle)
                   sqle.printStackTrace();
                   throw new EJBException(sqle);
    public int getClassId() {
    return class_id;
    public String getClassName() {
    return class_name;
    public void setEntityContext(EntityContext ctx) {
    this.ctx=ctx;
    public void unsetEntityContext() {
    ctx=null;
    public void ejbLoad() {
    // Not implemented.
    public void ejbStore() {
    // Not implemented.
    public void ejbRemove() {
    // Not implemented.
    ==================================================================
    My remote interface is
    public interface Stca extends javax.ejb.EJBObject {
    public int getClassId() throws RemoteException;
    public String getClassName() throws RemoteException;
    ==================================================================
    My primary key class is:
    public class StcaKey implements java.io.Serializable
    public String class_id;
    public String class_name;
    public StcaKey() {}
    public StcaKey(java.lang.String class_id,java.lang.String class_name) {
    this.class_id = class_id;
    this.class_name = class_name;
    public boolean equals(Object obj) {
    if (obj instanceof StcaKey)
    StcaKey otherKey = (StcaKey) obj;
    return ((class_id.equals(otherKey.class_id)) && (class_name.equals(otherKey.class_name)));
    else
    return false;
    public int hashCode() {
    return ((class_id+class_name).hashCode());
    ==================================================================

    Implement Load and Store methods .Data will be persisted.
    -Viren Jasani

  • How to make a global scope component to be thread safe?

    One of my global component preserves states in its member variables, I am afraid that it's might messed up in multi-threading conditions, so how to make a nucleus global component to be thread safe?
    Edited by: user13344577 on Jul 14, 2011 9:45 AM

    Hi,
    Just to help integrate Shaik's and my own seemingly contradictory replies:
    If the member variables in your global component actually need to be globally available, so that multiple threads/sessions need to seem the same data, then you need to use synchronization or some scheme to make this data thread-safe when updating it. If the member variables are non-global data and are simply for convenience of having data available for multiple method calls or something like that, then you should do as I said (don't use synchronization) and use one of my suggestions to avoid this.
    I have seen customers frequently do what I replied about and store non-global data in a global component, and Shaik simply interpreted what "user13344577" is trying to do differently. Clarification is needed to know which of our answers better applies.
    Thanks.
    Nick Glover
    Oracle Support for ATG Products

  • How to persist TextInput text values?

    Can anyone provide a brief explanation of how to persist text
    values?
    Description:
    Stuff written into a TextInput field does not persist when
    moving
    to another frame, and back again.
    Example:
    Frame 1: Put a TextInput component on the stage.
    Frame 1: Put a "forward" button on the stage.
    Frame 9: Put a "back" button on the stage.
    Frame 1 actionScript:
    this.btnForward.onRelease = function() {
    gotoAndStop(9);
    Frame 9 actionScript:
    this.btnBack.onRelease = function() {
    gotoAndStop(1);
    Play it.
    Write something in the TextInput.
    Click the forward button. (this takes it to Frame 9)
    Click the back button. (this takes it back to Frame 1)
    >> The TextInput field is blank.
    Hoping someone can help,
    Thanks,
    John

    quote:
    Originally posted by:
    JohnKirk
    Hi,
    Thanks for your quick reply!! -- still have a problem, as
    follows: Value gets set to "undefined" upon return.
    Can you go into just a little more detail about "where" the
    variable should be created, and "when" it should be populated and
    read?
    Details:
    Frame 1:
    1) I declare a variable in Frame 1, and initialize it to
    null:
    "var myStr:String = "";"
    That seems reasonable (thoug technically you set it to an
    empty string and not to null, but the empty string is better in
    this case)
    quote:
    2) I save the value in the btnForward.OnRelease function:
    "myStr = Ti.text;"
    when using the button this way you would have to use
    "this._parent.myStr = this._parent.Ti.text";
    as the scope in buttons behaves different if you put the
    action directliy on the button (flash 5 way) or if you do it your
    way.
    quote:
    3) I add a line to set the TextInput text: "Ti.text = myStr;"
    4) When I Play it, Ti is empty. I type in words, and click
    forward (moving to Frame 9). Then I click back (moving to Frame 1).
    Ti shows "undefined".
    Thanks for your patience,
    John
    I hope that helps.
    [I have to put my kids to bed now, so it'll be a while before
    I can help if it won't work as I expect.
    Anybody else also is very welcome to help ;-) ]

  • How to use annotation with GUI in swing

    hi,
    i am new to annotation. I know how to use this with classes, methods and java elements. I am developing a tool in applet to post comment on my notepad, but unable to find that how to use this with GUI of swing. I have gone through most of forums and tutorials but got no idea. Anyone could give me little idea.
    Thanks

    >
    i need to use the applet mousedown function in swing..>There is no such class as 'applet' in the JRE, Swing has an upper case 1st letter, functions in Java are generally referred to as methods, and there is no 'mousedown' method in the JRE.
    OTOH a Swing JApplet inherits the mouseDown method from Component, and it was deprecated in Java 1.1. The documentation (JavaDocs) provides instructions on what to use instead.
    >
    is there any way to use it or any other alternative is available for this?
    if can provide me a sample code.>If can provide me cash. Short of that, you might actually need to do some research/coding of your own.
    As an aside. What does any of this have to do with Java 2D?

  • How do I modify a specific component within a active internalframe?

    I need to change an icon (toggle like) on a button within an internal frame when it is pressed.. I know what the active frame is. How do I address the specific component (wiithin a deskpane within a internalframe)?
    Thank you in advance,
    BAJH

    Here is a stripped down version of the program:
    i
    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JDesktopPane;
    import javax.swing.JFrame;
    import javax.swing.JInternalFrame;
    import javax.swing.JList;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.OverlayLayout;
    import javax.swing.ScrollPaneConstants;
    import javax.swing.UIManager;
    import javax.swing.event.InternalFrameEvent;
    import javax.swing.event.InternalFrameListener;
    public class TestFrameButton extends JDesktopPane{
         private static final long serialVersionUID = 1L;
         JDesktopPane desk;
         JDesktopPane ifdesk;
         JScrollPane scrollpane;
         JInternalFrame iframe;
         JFrame frame;
         JList jList1;
         JInternalFrame currentframe;
         Integer currentframenumber;
         String currentframename;
         Boolean[] downuptracker;
         Integer deskwidth = 1000;
         Integer deskheight = 1000;
         Integer scrollwidth = 1000;
         Integer scrollheight = 1000;
         JButton DownUpButton;
         public static void main(String[] args) {
              TestFrameButton d = new TestFrameButton();
         public TestFrameButton(){
              downuptracker = new Boolean [99];
              frame = new JFrame("Test Frame Button");
              frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              scrollpane = new JScrollPane(desk,
                        ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,
                        ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
              scrollpane.setPreferredSize(new java.awt.Dimension(scrollwidth, scrollheight));
              desk = new JDesktopPane();
              desk.setPreferredSize(new java.awt.Dimension(deskwidth, deskheight));
              int i = 5;
              for (int j = 0; j <= i; j++){
                   UIManager.getDefaults().put("InternalFrame.icon", "");
                   iframe = new JInternalFrame("Internal Frame: " + j, false, true, false, false);
                   iframe.setName(String.valueOf(j));
                   iframe.setBounds(30*j, 30*j,265 , 80);
                   iframe.addInternalFrameListener(new InternalFrameListener(){
                        public void internalFrameClosing(InternalFrameEvent e) {
                        public void internalFrameClosed(InternalFrameEvent e) {
                        public void internalFrameOpened(InternalFrameEvent e) {
                        public void internalFrameIconified(InternalFrameEvent e) {
                        public void internalFrameDeiconified(InternalFrameEvent e) {
                        public void internalFrameActivated(InternalFrameEvent e) {
                             currentframe = e.getInternalFrame();
                             currentframename = e.getInternalFrame().getName();
                             currentframenumber = Integer.valueOf(currentframename);
                        public void internalFrameDeactivated(InternalFrameEvent e) {
                   iframe.setTitle("Internal Frame :" + j);
                   iframe.setVisible(true);
                   downuptracker[j] = true;
                   ifdesk = new JDesktopPane();
                   iframe.getContentPane().add(ifdesk, BorderLayout.CENTER);
                   DownUpButton = new JButton("Old Icon here");
                   ifdesk.add(DownUpButton);
                   DownUpButton.setBounds(0, 0, 130, 20);
                   DownUpButton.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent e) {
                             if (downuptracker[currentframenumber].equals(true)){
                                  // Colapse frame here and change icon
                                  DownUpButton.setText("New Icon here");
                                  downuptracker[currentframenumber] = false;
                             }else{
                                  // Expand frame here and change icon
                                  DownUpButton.setText("Old Icon here");
                                  downuptracker[currentframenumber] = true;
                   desk.add(iframe);
                   iframe.moveToFront();
              scrollpane.setViewportView(desk);
              JPanel overlayPanel = new JPanel();
              OverlayLayout overlay = new OverlayLayout(overlayPanel);
              overlayPanel.setLayout(overlay);
              this.setOpaque(false);
              desk.setOpaque(true);
              overlayPanel.add(this);
              overlayPanel.add(scrollpane);
              frame.add(overlayPanel);
              scrollpane.setVisible(true);
              frame.setSize(800,600);
              frame.setVisible(true);
    }Thank you in advance,
    BAJH - I will never multi-post again!

  • Change the Production state of Software Component in SLD

    Hello,
    I cannot see the list of software component to add in Dev Configuration because the Production State of software component is in Planned state and to appear in the list it should be in Devlopment state.
    How do I change the state. When I login to SLD i dont see the edit mode to change it.
    Thanks
    PS: I did not realize there is separate NWDI forum.  I also asked the same question in Web Dynpro forum.

    Hi,
    if the question is about, why the custom developed software is not visible in "CMS - Landscape Configurator - Track Data tab" when pressing the button "Add SC...", then please answer:
    Did you trigger "Update CMS" after creating the software in SLD? You can do it in the CMS webui - Landscape Config - Domain Data tab.
    Best Regards,
    Ervin (http://wiki.sdn.sap.com/wiki/display/TechTSG/%28NWDI%29Home)

  • Change state with MenuBar component

    It's pretty easy to change the state with a button. Example:
    click="currentState='AboutScreen'"
    But when I try to do this on the MenuBar component, I'm not
    having any luck. When I click on the item (let's say Help ->
    About), nothing happens. My code is:
    click="currentState='menu.student.create_profile'"
    I also tried,
    itemClick="currentState='menu.student.create_profile'"
    No luck.. anyone know how to change states based off items
    clicked from the MenuBar?

    This should get you started:
    http://www.playingwithfire.com/fun.html

  • How do I find out the component ID on a certain page?

    How do I find out the component ID on a certain page? problems is that I'm using some page template which I do not have source code for that.I need to find out the component id to pass to UIComponent.findComponent(id) as parameter. is there anyway?
    Thanks

    If you go to the partial trigger property of any of your page component you can open the edit partial trigger browser.
    There you can find the components of your template and their ids

  • Orchestration exception:Exception occurred when persisting state to the database because of special character ' ' in HL7 message.

    In some scenarios HL7 message is coming with special character ‘’ and HL7 dis-assembler escaping this character with “&#x10;&#x1;”. But while sending out (pass thru pipeline but orchestration trying to persist here at last sendshape.) from orchestration
    this message failing with the error “Exception occurred when persisting state to the database.”
    As per the analysis , Orchestration is unable to convert to xml document from a
    XLANGMessage because of this special character. We have tried to call custom .net class with following code and its failing here as well (I think orchestration also trying to do same way and failing with the message and failing with same error.).
    public void ProcessRequest(XLANGMessage reqMessage)
    XmlDocument xmlDocument = (XmlDocument)reqMessage[0].RetrieveAs(typeof(XmlDocument)); It is failing here with the error
    “ ', hexadecimal value 0x10, is an invalid character. Line 1, position 1865. “
    Note : Please find the special character in the attachment circled in red color. 

    Hi ,
    Please find the xml and the screenshot.
    <OBX_ObservationResult>
      <OBX_1_SetIdObx>3</OBX_1_SetIdObx>
      <OBX_2_ValueType>TX</OBX_2_ValueType>
      <OBX_3_ObservationIdentifier>
        <CE_0_Identifier>P.112</CE_0_Identifier>
        <CE_1_Text>Where pt. will be transported to \T\ where &#x10;&#x1;famly can wait:</CE_1_Text>
      </OBX_3_ObservationIdentifier>
      <OBX_4_ObservationSubId />
      <OBX_5_ObservationValue>Y</OBX_5_ObservationValue>
      <OBX_6_Units>
        <CE_0_Identifier />
      </OBX_6_Units>
      <OBX_7_ReferencesRange />
      <OBX_8_AbnormalFlags />
      <OBX_9_Probability />
      <OBX_10_NatureOfAbnormalTest />
      <OBX_11_ObservationResultStatus>N</OBX_11_ObservationResultStatus>
    </OBX_ObservationResult>

  • How to find out the Target Component name and Target view name

    Hi All Expert,
                      I want to know ,how to find out the target component and target view in WEB UI,when i click on a field which shows as a hyper link in WEB UI .At GUI level ,i know the how it will work.Any way to find out the component name and view name which is show the details of that field at GUI level .IF you go to transaction CRMD_ORDER then open the service contract id .then goto the item level value .there is 1 service data tab is available at item level.there is two button is available.first one is available time and second one is response time .if i click on any button then one popup is open which is shows the details of that button.I dont know how to find out the component name and view name from GUI level.
    Thanks in Advance....
    Vishwas Sahu

    Hi Vishwa,
                 The control would be something like this for navigation in Get_p_xxx method u mention as link and u mention a event name which gets triggered on the click of this hyperlink. So your GET_P_XXX method would have the following code:
    CASE iv_property.
        WHEN if_bsp_wd_model_setter_getter=>fp_fieldtype.
          rv_value = cl_bsp_dlc_view_descriptor=>field_type_event_link.
        WHEN if_bsp_wd_model_setter_getter=>fp_onclick.
          rv_value = 'EXAMPLE'.
    Now you have to create a method as EH_ONEXAMPLE at your IMPL class and within which you would give an outbound plug method. Within the outbound plug the target data would be filled in the collection and window outbound plug would be triggered.
    This is a huge topic and  i have just mentioned you basic things.
    Regards,
    Bharathy.

  • How to get the list of component?

        How to get the list of component through java API in Adobe CQ5?

    There are probably more than a few ways, but here is a little component .jsp code that uses the jcr query api to pull out all the components and list them on a page.  If I know CQ, there might be a way to ask for a list of components another way though, maybe through another API, or possibly a .json url, I might remember reading something about that, somewhere, lol, but this at least gets you the list in a somewhat simple way.
    Code Example:
    <%@include file="/apps/psul/components/global.jsp"%>
    <%@ page import="javax.jcr.*,
                       javax.jcr.query.*"
    %>
    <%
       // Login to create an anonymous session on the default workspace
       Session session = resourceResolver.adaptTo(Session.class);
           //Declare a query for all the components in the system
           String SQL = "select * from cq:Component";
    //side note: if you want just the components in your site area, then make the query more like below...
    //  SQL = "select * from cq:Component where jcr:path like '/apps/yoursitename/%'";
           QueryManager qm = session.getWorkspace().getQueryManager();
           Query query = qm.createQuery(SQL, Query.SQL);
           QueryResult result = query.execute();
           NodeIterator nodes = result.getNodes();
           while (nodes.hasNext()) {
               Node node = (Node)nodes.next();
               %>
                    <p><%=node.getName() %> (<b><%=node.getPath() %></b>)</p>
    <%     } %>

Maybe you are looking for

  • Scripting Adobe Bridge CS4 Output Module

    Anyone done it? An API definition appears absent from the Bridge CS4 SDK documentation.

  • Adapter engine types

    hi, usually why we use , adapter engine - as integration engine? , and what are the other adapter engines available? thanq

  • Display profile for Cinema Display

    Hi there. I'm producing photographic images (for eventual print) and the print company is using Apple Cinema Displays their end (me: a Samsung SyncMaster 913V). There seems to be a great difference between what I see on my screen and what they see on

  • Problem with my Flash 10

    I am having problem while visiting some of the website like Youtube... Any idea how to solve? RFN www.amrabangladeshi.com Hoicoi.com

  • Saving a cs4 to cs3

    I am just learning Dreamweaver CS4 but my school only has CS3, is it possible to save my CS4 files to CS3??