Frame extended state and window bounds.

I'm trying to save the bounds of a window when my program exits, so that I can initialize the next session to the same window bounds. It seems well known that calling getBounds() on a maximized window will basically give you your screen dimensions. So this means that if the user exits the program when the window is maximized, the next time they start it up, the window will be set to fill their screen as though it were maximized, but in the restored state. Not good. It also seems well known that there is no clean way to get the restored bounds on a maxmized window. Also not good. I found this forum on the subject:
http://forum.java.sun.com/thread.jspa?forumID=57&threadID=603605
Someone suggested restoring the window manually before checking the bounds, but I don't want to do this because the action would be visible to the user, and takes time. Instead I opted for the component listener approach. Here's where my problem comes in:
It seems that move and resize events happen at inconsistent times. In my component listener, I poll window.getExtendedState() and getBounds() in componentMoved() and componentResized(). When I maximize the window, I get MOVE event that shows getExtendedState() to be NORMAL, but getBounds() to be maximized. When I restore the window, I get a RESIZE event that shows getBounds() to be restored.
Maybe I'm just confused here, but this doesn't make any sense. Those two values should be consistent-- and I should get the event after everything is DONE, including the extended state flag being properly set. It seems to me that this is bug-like behavior. Am I wrong?
Furthermore, my problem remains, because if the user exits in the maximized state, the last event will have been a reporting of the maximized window bounds-- so my attempts to remember what the window was before it was maximized will have failed. It really steams me that the API seems to be conspiring to prevent me from getting this simple piece of information.
So has there been any progress on the front of a clean solution to getting the restored bounds without restoring the window? Surely that information exists somewhere in the JVM. I shouldn't have to do backflips to get it. (Perhaps I should post a feature request).
How should I get around this?
P.S.
Here's a test case:
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
import javax.swing.JFrame;
* @author Tim Babb
public class Main {
    static JFrame frame;
    public static void main(String[] args) {
        frame = new JFrame("Test Case");
        frame.addComponentListener(new ComponentListener(){
            public void componentHidden(ComponentEvent evt){
                //do nothing
            public void componentMoved(ComponentEvent evt){
                if (frame.getExtendedState() == frame.NORMAL){
                    System.out.println("Moved: " + frame.getBounds());
            public void componentResized(ComponentEvent evt){
                if (frame.getExtendedState() == frame.NORMAL){
                    System.out.println("Resized: " + frame.getBounds());
            public void componentShown(ComponentEvent evt){
                //do nothing
        frame.setVisible(true);
}

I am seeing the same thing, it seems that in Windows maximize delivers two events a move and then a resize. The change state event comes in the middle, I am sure there is some good reason.
I have had a go at writing a NormalBoundsListener that compensates for this. Would be interested to find out if this was Windows specific.
Hope this helps, if you have a better solution please let me know.
private class NormalBoundsListener implements ComponentListener {
private final Rectangle previousNormalBounds = new Rectangle();
private int previousExtendedState = 0;
public void componentHidden(ComponentEvent e) {
// do nothing
public void componentMoved(ComponentEvent e) {
storeNormalBounds();
public void componentResized(ComponentEvent e) {
storeNormalBounds();
public void componentShown(ComponentEvent e) {
storeNormalBounds();
private void storeNormalBounds() {
int extendedState = getExtendedState();
if(extendedState == Frame.NORMAL) {
previousExtendedState = extendedState;
previousNormalBounds.setBounds(normalBounds);
getBounds(normalBounds);
} else if(extendedState == Frame.MAXIMIZED_BOTH && previousExtendedState == Frame.NORMAL) {
previousExtendedState = extendedState;
normalBounds.setBounds(previousNormalBounds);
}

Similar Messages

  • Are the values of _adf.ctrl-state and window.name assigned uniquely?

    Hi
    I found that javaScript window.name always returns the same value with the value of URL parameter _adf.ctrl-state subtracted by 3.
    For example, if the adf.ctrl-state is xxxxxxxxx4, window.name returns xxxxxxxxx_1.
    I want to utilize these values to handle windows with javaScript programming.
    But I wonder if these values are assigned uniquely or not.
    By chance they can be equal to those of previously opened window?
    Regards,
    Kenji
    Edited by: Kenji Imamura on 2011/09/27 23:18

    Thanks for your responses.
    My use case is as follows.
    There is an ADF application having two pages, say page A and B.
    A user can open page A on multiple windows simultaneously, while page B is allowed to be opened on only one window per session.
    When a certain event is kicked in page A and there is no window showing page B, page B is opened on a new modeless window.
    However, if there is already a window showing page B when the event is kicked in page A, a new page B window should not be opened but the event should be propagated to the existing page B window and refresh it.
    As far as I know, ADF does not provide this kind of inter-window communication functionality.
    Thus I thought of using JavaScript.
    When page B is opened, the name of the window showing it is added to the session attribute (with a key of "page B", for example).
    Depending on whether session.getAttribute("page B") returns null or not null, the event in page A is resulted in opening a new page B window or refreshing the existing page B window, respectively.
    I admit that this is not cool.
    I do appreciate if someone show me a better solution.
    Regards,
    Kenji

  • HT4407 Hey, I am unable to install windows 7 using 'bootcamp 5.0' . I have already partitioned the drive as (mac Os Extended Journaled) and yet it seems bootcamp won't acknowledge this?

    Hey, I am unable to install windows 7 using 'bootcamp 5.0' . I have already partitioned the drive as (mac Os Extended Journaled) and yet it seems bootcamp won't acknowledge this?
    My first thoughts were that 'bootcamp' was out of date...needed an upgrade to register windows 7. Since then I am once again met with the same problem... how can it not see the I have already have a paritioned drived ready to be used for installition, is there a way to fix this problem? I don't really want to pay out for 'i-parition' only to merge my 2 drives back into one and start again from scratch =/. Seems silly to do so...what are my options?
    Regards Swishi...p.s If anyone can help me...it'll make my day :3.

    ONE PARTITION.
    You don't need to buy anything but you should have backups.
    you can delete #2 you created. Then resize to full drive.
    There are already
    GPT
    EFI
    Mac
    Recovery
    and there needs to be Windows which cannot be higher ID
    Reading the instructions first and just swallow whatever pride or inidignation. It is a "my way or highwar" setup and utility,.
    http://manuals.info.apple.com/en_US/boot_camp_install-setup_10.7.pdf
    create a Windows support software (drivers) CD or USB storage media
    http://support.apple.com/kb/HT4407
    The Boot Camp Assistant can burn Boot Camp software (drivers) to a DVD or copy it to a USB storage device, such as a flash drive or hard drive. These are the only media you can use to install Boot Camp software.
    https://support.apple.com/kb/HT4569
    Installation Guide  Instructions for all features and settings.
    Boot Camp 4.0 FAQ  Get answers to commonly asked Boot Camp questions.
    Windows 7 FAQ  Answers to commonly asked Windows 7 questions.
    http://www.apple.com/support/bootcamp/

  • New Computer Windows 8 without CD Rom Drive, CS5 Extended Student and Teacher Download and Install

    I have a new laptop with Windows 8, and like most new computers it does not have a CD Rom drive. I have deactivated CS5 Extended Student and Teacher Edition from my old computer (since I am only allowed one computer at a time) and would like to install and activate on my new machine. I am in possession of the original cd, product key and serial number, however the email that I originally used to get the serial number no longer exists. I have created a new Adobe ID with my new email address.
    I read a forum that suggested that I download a trial, and then activate that trial with my serial number. I followed those steps with the closest version I could find, which was CS5, and though my computer said the files downloaded, nothing was installed... and I cant figure out how to install... and I am concerned that I dont have the same version in the trial as the CD that I own. Any advice would be greatly appreciated- most of the reason I wanted a faster computer was so I could run my photoshop on there!!!!

    Direct Download Links for Adobe Software
    Otherwise feel free to transfer your DVD-based installers to an USB stick or whatever is at hand.
    Mylenium

  • How to I increase the space between the top of tabs and the frame of the entire window? It was fine until Firefox updated

    Hello,
    How to I increase the space between the top of tabs and the frame of the entire window? It was fine until Firefox updated and since it updated it reduced the space. Now the space is too thin which makes it more difficult to move the open window frame around when I need to grab something from Desktop. Image attached.

    In the image, see how thin the space is right above the tab? It was much wider before Firefox update so if any know how to make it wider again, please let me know. Thank you
    ''troyable7 [[#question-1058550|said]]''
    <blockquote>
    Hello,
    How to I increase the space between the top of tabs and the frame of the entire window? It was fine until Firefox updated and since it updated it reduced the space. Now the space is too thin which makes it more difficult to move the open window frame around when I need to grab something from Desktop. Image attached.
    </blockquote>
    In the image, see how thin the space is right above the tab? It was much wider before Firefox update so if any know how to make it wider again, please let me know. Thank you

  • HavI e Photoshop cs6 Extended Student and Teacher Edition/ can it be installed on two pc's and will it work with Windows 8.1

    havI e Photoshop cs6 Extended Student and Teacher Edition/ can it be installed on two pc's and will it work with Windows 8.1

    Yes

  • Help! my first mac! and I can't get past the Welcome menu window... I try to select "united states" and want to continue but nothing happens. Any idea why?

    help! my first mac! and I can't get past the Welcome menu window... I try to select "united states" and want to continue but nothing happens. Any idea why?

    Restart the Mac, and start over, it very well could be frozen. This is not the way you would like to start out your Mac experience!

  • Is there a problem with JFrame and window listeners?

    As the subject implies, i'm having a problem with my JFrame window and the window listeners. I believe i have implemented it properly (i copied it from another class that works). Anyway, none of the events are caught and i'm not sure why. Here's the code
    package gcas.gui.plan;
    import java.awt.BorderLayout;
    import java.awt.Component;
    import java.awt.Container;
    import java.awt.event.WindowEvent;
    import java.awt.event.WindowListener;
    import java.util.Hashtable;
    import javax.swing.JDialog;
    import javax.swing.JFrame;
    import gcas.plandata.TaskData;
    import gcas.util.GCASProperties;
    import gcas.gui.planlist.MainPanel;
    * MainFrame extends JPanel and is the main class for the plan details window
    public class MainFrame extends JFrame implements WindowListener
         * the container for this window
        private Container contentPane;
         * a string value containing the name of the plan being viewed
        private String labelText;
         * a string value containing the name of the window (GCAS - plan list)
        private static String title;
         * an instance of JDialog class
        private static MainFrame dialog;
         * hashTable that correlates the task name to its id as found in the
         * plan
        private Hashtable taskNameToId = new Hashtable();
         * an instance of taskSetPane.  This is the current instance of taskSetPane
         * being viewed
        private PlanTaskSet currentPane;
         * instance of TaskData class.  Each instance will hold information on
         * an individual task
        private TaskData taskData;
         * hashTable containing instances of the taskSetPane class
        private Hashtable taskSetPanes = new Hashtable();
         * an instance of the OuterPanel class
        OuterPanel mainPanel;
         * an instance of the ButtonPanel class
        ButtonPanel buttonsPanel;
         * an instance of the LeftPanel class
        LeftPanel leftPanel;
         * an instance of the the GCASProperties class
        GCASProperties gcasProps;
        private static MainFrame thisPlanMain = null;
        private MainPanel planListMain;
         * constructor for MainFrame
         * @param frame the parent frame calling this class
         * @param locationComp the location of the component that initiated the opening of the dialog
         * @param labelText the name of the plan that is being viewed
         * @param title title of window
        private MainFrame(JFrame frame, Component locationComp, String labelText,
                String title)
            super(title);
            gcasProps = GCASProperties.getInstance();
            mainPanel = new OuterPanel(labelText, currentPane,
                    taskNameToId, taskSetPanes);
            leftPanel = mainPanel.getLeftPanel();
            System.out.println("LABLE: " + labelText);
            leftPanel.setMainPanelContents();
            buttonsPanel = new ButtonPanel(labelText, taskSetPanes,
                    taskNameToId, leftPanel);
            contentPane = getContentPane();
            contentPane.add(mainPanel, BorderLayout.CENTER);
            contentPane.add(buttonsPanel, BorderLayout.PAGE_END);
            this.addWindowListener(this);
            this.labelText = labelText;
            pack();
            setLocationRelativeTo(locationComp);
            this.setVisible(true);
            planListMain = MainPanel.getInstance();
            planListMain.setVisible(false);
        public static MainFrame getInstance(JFrame frame, Component locationComp, String labelText,
                String title)
            if (thisPlanMain == null)
                thisPlanMain = new MainFrame(frame, locationComp, labelText,
                        title);
            return thisPlanMain;
        public static MainFrame getDialogObject()
        {   //from the location this is called (ButtonPanel), this will never
            //be null
            return thisPlanMain;
        public static void setABMDDialogNull()
            thisPlanMain = null;
         * returns an instance of MainFrame
         * @return MainFrame instance
        public static MainFrame getDialog()
            return dialog;
         * setter for MainFrame
         * @param aDialog a MainFrame instance
        public static void setDialog(MainFrame aDialog)
            dialog = aDialog;
         * window opened event
         * @param windowEvent the window event passed to this method
        public void windowOpened(WindowEvent windowEvent)
         * The window event when a window is closing
         * @param windowEvent the window event passed to this method
        public void windowClosing(WindowEvent windowEvent)
            gcasProps.storeProperties("PlanList");
            MainPanel abmd = MainPanel.getInstance();
    //        planMain = this.getDialogObject();
    //        if(planMain != null)
    //            planMain.setVisible(false);
    //            abmd.setVisible(true);
    //            planMain.setABMDDialogNull();
            if(this.getDialogObject()!= null)
                abmd.setVisible(true);
                setVisible(false);
                setABMDDialogNull(); 
         * Invoked when the Window is set to be the active Window
         * @param windowEvent the window event passed to this method
        public void windowActivated(WindowEvent windowEvent)
         * Invoked when a window has been closed as the result of calling dispose on the window
         * @param windowEvent the window event passed to this method
        public void windowClosed(WindowEvent windowEvent)
         * Invoked when a Window is no longer the active Window
         * @param windowEvent the window event passed to this method
        public void windowDeactivated(WindowEvent windowEvent)
            System.out.println("HI");
         * Invoked when a window is changed from a minimized to a normal state
         * @param windowEvent the window event passed to this method
        public  void windowDeiconified(WindowEvent windowEvent)
            //we could have code here that changed the way alerts are done
           System.out.println("Invoked when a window is changed from a minimized to a normal state.");
         * Invoked when a window is changed from a normal to a minimized state
         * @param windowEvent the window event passed to this method
        public  void windowIconified(WindowEvent windowEvent)
            //we could have code here that changed the way alerts are done
    //        System.out.println("Invoked when a window is changed from a normal to a minimized state.");
    }anyone know whats wrong?

    It turned out that my ide was running the old jar and not updating it, so no matter what code i added, it wasn't being seen. Everything should be fine now.

  • JFrame (extended) state, iconified/maximized/normal question

    Greetings and salutations,
    I've been removing some rough edges from my last application and I noticed the
    following: before an application quits every location/size of the top level components
    is written to a file. When the application starts again everything is read back in
    again and the application shows itself just as it was before it closed the last time.
    There's one little quirck though:
    A JFrame can be in one of three states when an application quits:
    1) iconified; nothing is wrong here, i.e. the application comes back on in the same
    iconified state and after de-iconification the JFrame shows up the same as
    before the previous quiting.
    2) 'normal': same as above: the JFrame shows up identical as before quiting
    the application the previous time.
    3) maximized: the new incarnation shows up as a maximized JFrame, but after
    'demaximalization' (sorry) the JFrame keeps its maximum size, i.e. if still fills up
    the entire screen.
    Before quiting I save the bounds, the state and the extended state of a JFrame
    and reinstate these values after a new incarnation of the application. I think I've
    tried all 2^3 == 8 possible permutations of this all, but option 3) keeps giving
    me trouble, i.e. the bounds don't work after 'demaximalization'.
    Ideas anyone?
    kind regards,
    Jos

    Here's a test program for people who want to experiment around a bit, but are reluctant to create a test class:import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import javax.swing.*;
    public class Test extends JFrame {
        public Test () {
            setDefaultCloseOperation (WindowConstants.DISPOSE_ON_CLOSE);
            setTitle ("Test");
            WindowInfo windowInfo;
            try {
                windowInfo = read ();
            } catch (Exception exception) {
                System.err.println ("couldn't read window.info");
                windowInfo = new WindowInfo ();
            setLocation (windowInfo.location);
            setSize (windowInfo.size);
            setExtendedState (windowInfo.extendedState);
            addWindowListener (new WindowAdapter () {
                public void windowClosing (WindowEvent event) {
                    try {
                        write (new WindowInfo (getLocation (), getSize (), getExtendedState ()));
                    } catch (Exception exception) {
                        System.err.println ("couldn't write window.info");
            setVisible (true);
        public static void main (String... parameters) {
            new Test ();
        private WindowInfo read () throws ClassNotFoundException, IOException {
            ObjectInputStream in = null;
            try {
                in = new ObjectInputStream (new FileInputStream ("window.info"));
                return (WindowInfo) in.readObject ();
            } finally {
                if (in != null) {
                    try {
                        in.close ();
                    } catch (IOException exception) {}
        private void write (WindowInfo windowInfo) throws IOException {
            ObjectOutputStream out = null;
            try {
                out = new ObjectOutputStream (new FileOutputStream ("window.info"));
                out.writeObject (windowInfo);
            } finally {
                if (out != null) {
                    try {
                        out.close ();
                    } catch (IOException exception) {}
        private class WindowInfo implements Serializable {
            public Point location;
            public Dimension size;
            public int extendedState;
            public WindowInfo () {
                size = new Dimension (600, 400);
                Dimension screenSize = Toolkit.getDefaultToolkit ().getScreenSize ();
                location = new Point (screenSize.width / 2 - size.width / 2, screenSize.height / 2 - size.height / 2);
                extendedState = NORMAL;
            public WindowInfo (Point location, Dimension size, int extendedState) {
                this.location = location;
                this.size = size;
                this.extendedState = extendedState;
    }Note that I fooled around myself a bit too.

  • External Hard drives Mac OS and Windows

    I have a question on external hard drives. I am looking for an external drive that will work with both my Mac and Windows xp pro. I remember that Mac used to be able to read windows format but not vise versa. I know that thumb drives switch back and forth with no problem but it seems that hard drives do not. I went to the store and was told and the boxes state that the windows drives must be reformatted to work with Mac and the WD Mac drive said that it must be reformatted to work in Windows, (as I expected). Is this something new between the OS's or something to do with the drive sizes? Any help would be appreciated as I would like to be able to move large files, usually movies, between the two formats by simply moving the external drive from one to the other.
    Thank you

    If you reformat that flash drive to use +Mac OS X Extended (Journaled)+, it will probably work. But then, you would not be able to use it on the Windows PC (until you reformatted it again).
    then probably the best option although more expensive will be to buy an ethernet drive and connect to my router.
    Or maybe you can do a direct transfer from PC to Mac or Mac to PC over wired Ethernet, and put the extra storage drive on the Mac or PC, formatted to be optimal for the respective connected OS. If your PC has gigabit Ethernet (and your router is has gigabit ports), it should be fairly fast. Make sure the cables are rated Cat-5e or better.
    Wow another Power Mac 8100 user who added a G3 card to it.
    Still a machine that is set up and runs fine, for using my old Mac OS 9 programs. I bought mine used after it was already a few years old, but it was used as my primary Mac longer than any other machine before or since. It stayed relevant for a long long time.

  • Cd-rom for Mac and Windows

    Hi there,
    I want to make an hybrid cd-rom for both, Mac and Windows, and I am using the fscommand code in the first frame of my actions:
    fscommand("fullscreen","false"); // returns the player to normal menu view.
    fscommand("allowscale","false"); //sets the player so that the SWF file is always drawn at its original size and never scaled.
    I want both commands with their properties, however the displayState property is new to me. Please, Could you help me to do the same with this?.
    Of course all in AS3.
    I also have a code for a button that closes the .app of the .exe:
    function cerrar(e:MouseEvent):void {
    fscommand("quit");
    cerrar_btn.addEventListener(MouseEvent.CLICK, cerrar);
    Thanks in advance.

    The stage displayState and scale properties are like so:
    // fullscreen
    stage.displayState = StageDisplayState.FULL_SCREEN;
    // fullscreen with keyboard active
    stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
    // non-fullscreen
    stage.displayState = StageDisplayState.NORMAL;
    Note that changing the displayState is usually done after the first frame is rendered so adding in a listener for that before changing it is a good idea. The scale and align don't require this.
    e.g.
    addEventListener(Event.ENTER_FRAME, _onEF);
    function _onEF(e:Event):void
         // frame has rendered, remove listener
         removeEventListener(Event.ENTER_FRAME, _onEF);
         // change display state
         stage.displayStage = StageDisplayState.FULL_SCREEN;
    Speaking of align, if you use NO_SCALE and expect to resize, you'll probably want to anchor the resizing from the upper left, like so:
    // top left registration
    stage.align = StageAlign.TOP_LEFT;
    Otherwise upon resize the upper left pixel will actually go into negative numbers.
    Scaling is:
    // no scale
    stage.scaleMode = StageScaleMode.NO_SCALE;
    // scale to fit exactly (aspect not maintained)
    stage.scaleMode = StageScaleMode.EXACT_FIT;
    // scale but maintain aspect:
    stage.scaleMode = StageScaleMode.NO_BORDER;
    Exiting a projector, still the same..
    import flash.system.fscommand;
    cerrar_btn.addEventListener(MouseEvent.CLICK, cerrar);
    function cerrar(e:MouseEvent):void
         fscommand("quit");

  • Closed vi's panel/window bounds

    I need to get a vi's panel and or window bounds but Im unable to do this without opening the vi. At the moment Im opening the VI for an instant before closing it again to insert into a subpanel (resizing the subpanel using the panel bounds of the VI). My question is, is there a way to work around this behavior? I read the documentation and NI suggests that I use the 'state/hidden' property to get the panel bounds -but I get an error when trying to do this, as the VI needs to be open to set this property -hence another open and close situation.
    Solved!
    Go to Solution.

    If you use the Open Method, you can directly set it's state to hidden.
    With the state property you can (after resizing) change the state to standard.
    Ton
    Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
    Nederlandse LabVIEW user groep www.lvug.nl
    My LabVIEW Ideas
    LabVIEW, programming like it should be!

  • Problem with Sessions and window.open

    Hi,
    Hi everyone,
    Help Please!!!
    I am working with Sevlet session objects and HTML forms and windows. I have an HTML form for the user to supply a username and password. Once the user clicks submit I need to open another browser window that has no toolbar, no location, no status bar, etc. The user should also be able to go back to that login screen and login again and open a 2nd, 3rd, etc. instance of the application. My problem is that each application is being asigned the same sessionId. I believe it is being asigned to the main login window and thus to the other child windows it opens. Is there a way to work around this? Do I need to make the user open another browser window to login? I need to be able to let the user open multiple instances of the application with unique session ids for each.
    Any insight is GREATLY appreciated on this topic. Anything you can tell me about sessions (Java), IE, window.open would help greatly!
    THANK YOU IN ADVANCE!!!
    MA

    To achieve this, you must introduce another level of
    abstraction to the Servlet specifications. When you
    work with JSP/Servlets you use mostly the HttpSession
    to handle user related tasks, and the aplication
    context, for things that are common to all users. But
    inside the HttpSession scope, you want to create
    containers that have 'smaller' scope and are uniquely
    identified.
    A ipothetical scenario :Let's say that you must have
    multiple connections to several databases, on each
    database user rights beeing diferrent, and you must be
    able to track user actions globaly, and eventualy
    capture a 'Close Application event' and close all db.
    connections.
    1. when the user first accesses the login frame create
    the HttpSession. In the HttpSession object, store a
    Hastable (let's call it 'ConnectionTable'). Each
    object in the Hashtable must identify uniqely a
    database connection. Now, to create unique identifiers
    ids, make the keys in the hashtable java.lang.Long
    objects, created using System.getCurrentTimeMillis().
    This guaranties there will be no possible confusion.
    From each new open window, on each request to the
    server, along with the usefull parameters, send the
    connection identifier. When proccessing the request,
    select the object from the Hastable wich corresponds
    to the ID.
    2. Now, the values in the ConnectionTable, must act as
    the containers that I mentioned in the first
    paragraph. The simplest way to do this is to have
    again a Hashtable derived class to do the job, wich
    exploses methods similar to HttpSession: setAttibute (
    Object key, Object value) and getAttibute ( Object
    key, Object value). This container may use internally
    a Hashtable to store object, and explose only the
    getAttribute and setAttribute methods for clarity. Any
    way, this is a problem of implementation. Let's call
    this class CustomSession.
    Now, a textual activity diagram:
    1 user accesses the main page, you start a new
    HttpSession; In the HttpSession object, store the
    ConnectionTable object.
    2. the user enters the userID and pwd and adatabase
    name, and a new window is opened. Let's supose the
    data entered is valid.
    3. when you process the login data, you create a new
    CustomSession object. you put in it whatever you would
    put in your HttpSession. You generate a unique
    identifier using System.CurrentTimeMillis(). Put the
    CustomSession object in the ConnectionTable, using the
    generated id as key. Send the response.
    ..... later on .....
    100. the user asks for a particular action to be
    performed - e.g. a row deletion. The page contains a
    form with text field where the user introduces the
    row number, a submit button and a hidden input with
    the ID.
    101. you process the data. Get the ID from the request
    object, get the ConnectionTable from the session, get
    the CustomSession using the ID as key, do whatever
    your logic was doing, but obtaining the objects from
    the CustomSession instead of HttpSession
    NicNic,
    Very slick idea. I think that it could work and it seems that there would be not security issues because the id that you would store on the client side is the Unique Identifier and not the actual Session Id. Do you forsee any security issues for this implementation?

  • RH10 and Windows 8.0/8.1

    Hi Everyone,
    Please can some advise what the current state of play is with RH10 and windows 8.0 and window 8.1. 
    i.e does it work properly?
    I am expecting to be asked to document a package running under window 8.0 or 8.1 shortly wondered if my copy of RH 10 will still work ok for this? Our main output format is web help.
    Secondly when is the next version of RH due that is compatible with office 2013?
    Thanks

    Thanks Willam, it was more about the version that ships than the versions that can be installed that I wanted to clarify.
    See www.grainge.org for RoboHelp and Authoring tips
    @petergrainge

  • Windows 8.1 something happened and windows 8.1 Pro couldn't be installed.

    After the release of windows 8.1 preview I attempted the installation of 8.1 preview which failed. I decided it wasn't worth the bother until it was officially released so I left it uninstalled.
    After the official release of 8.1 yesterday I opened the store on my windows 8 PC and I was presented with the Windows 8.1 download. I selected this and attempted to install. this failed with the message "Something happened and Windows 8.1 Preview
    failed to install" Whoops!
    I clearly hadn't done my windows updates to update the store so I ran these updates and in my windows store was the Official windows 8.1 download.
    Once downloaded it then fails saying "Something happened and windows 8.1 Pro couldn't be installed Please try again Error Code 0x80070003"
    now im stuck with that. is there a way I can clear the downloaded files and have the store re-download them? where are the stores downloads kept?
    im really stuck with this one....

    Hi,
    This error code means that the specified path couldn't be found.
    To fix this issue, I suggest we try following steps and try to reinstall again:
    Step 1: Clean update temp files:
    1. Press Windows key + R, type service.msc and press enter. 
     2. Stop Windows update service.
    3. Run following command lines one by one to clear update temp files:
    cd %windir%
    ren SoftwareDistribution SDTemp
    exit
    4.  Restart Windows update service.
    Step 2: Clear windows store catch:
    Press the Windows + R keys on your keyboard to open the Run dialog.
    Type WSReset.exe, and click/tap on OK.
    The Store will now open, and state the following: The cache for the store was cleared. You can now browse the store for apps
    Then, please try to update Windows 8.1 again.
    Regards,
    Kate Li
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

Maybe you are looking for

  • How do I set my 3Gs to download only new email messages from my comcast account?

    This is something I used to be able to do with my Treo, although I believe it was a date setting (ie. - mail sent for the last 1 day, 3 days, 5 days, etc...) My iphone downloads up to how ever many messages (I am set to 50) irregardless of date sent.

  • Difference between task request and change request

    What is the difference between task request and change request during sap implementation. In general how many tasks will generate during a normal company inmplementation by any functional consultant?

  • No music in ipod, but says there is!?

    when i was updating my ipod and charged it i disconnected it and left it alone then i wantd to listen to it and nothing was on it. then when i plugged it in my computer it said i have no space on my i-pod but nothing was on it. i cant figure it out s

  • Quicktime Pro Re-install

    How re-install Quicktime Pro with my key on new hard drive?

  • Java array doubt..

    public static void main(String Args[]){      int[] array = new int[3];      array[5] = 2; // why does this passes compilation as compiler knows that array[] is defined to hold only 3 integers !      System.out.println(array);      }