Refresh swing objects

Hi@all
i have a JTextArea and a JList
both in JScrollPanes
when they are overlapped from an other window, msgbox etc. they don't refresh
im new to java and i spent a lot of time and couldn't fix it.
here's my code:
www.gamemaster.ch/temp/Editor.java
thx for any help!

one additional question
i did it like you said but there's still a problem remaining
    public void paint(java.awt.Graphics g) {
        lstFolderList.repaint();
    }as i said the list is in a JScrollPane and so the scroll bars don't refresh
but if i add the scrollpane to the paint method both objects don't refresh
    public void paint(java.awt.Graphics g) {
        scrPane.repaint();
        lstFolderList.repaint();
    }what did i wrong?

Similar Messages

  • Is there a way of going through Swing objects and changing properties?

    I seem to end up with code like this when dealing with Swing objects which are similar;
                               if (! ThrottleProperties.getProperty("Lever.1").equals("Disabled")) jTextFieldLever1.setText("" + USBData[0]);
                                if (! ThrottleProperties.getProperty("Lever.2").equals("Disabled")) jTextFieldLever2.setText("" + USBData[1]);
                                if (! ThrottleProperties.getProperty("Lever.3").equals("Disabled")) jTextFieldLever3.setText("" + USBData[2]);
                                if (! ThrottleProperties.getProperty("Lever.4").equals("Disabled")) jTextFieldLever4.setText("" + USBData[3]);
                                if (! ThrottleProperties.getProperty("Lever.5").equals("Disabled")) jTextFieldLever5.setText("" + USBData[4]);
                                if (! ThrottleProperties.getProperty("Lever.6").equals("Disabled")) jTextFieldLever6.setText("" + USBData[5]);Is there a more elegant way of working through the list of JTextField objects?
    If there is the above code could be reduced to a for loop and be a few lines.
    I look forward to someones reply

    import javax.swing.*;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    public class Homework extends JFrame {
         private JLabel imageLabel;
         private byte[] image = { 71, 73, 70, 56, 55, 97, 48, 0, 48, 0, -58, 0, 0, 0, 0, 0, 111, 62, 0,
                         37, 20, 0, -118, 77, 0, -87, -87, -87, 119, 67, 1, 81, 45, 0, -95, -95,
                         -95, -97, -97, -97, -99, -99, -99, -103, -103, -103, 51, 28, 0, -109,
                         -109, -109, 41, 23, 0, -117, -117, -117, 78, 63, 46, -125, -125, -125,
                         121, 121, 121, 65, 36, 0, 113, 113, 113, 109, 109, 109, 107, 107, 107,
                         127, 124, 120, 109, 61, 0, 99, 99, 99, 97, 97, 97, -123, 127, 119, 87,
                         87, 87, 101, 88, 71, 22, 12, 0, 81, 81, 81, 77, 77, 77, 81, 48, 5, 123,
                         69, 0, 69, 69, 69, -10, -10, -10, 67, 67, 67, -14, -14, -14, -18, -18,
                         -18, 59, 59, 59, -20, -20, -20, 9, 5, 0, -22, -22, -22, -26, -26, -26,
                         36, 20, 0, 51, 51, 51, -28, -28, -28, -38, -38, -38, 80, 45, 0, 6, 3,
                         0, 117, 65, 0, 107, 60, 0, -46, -46, -46, -50, -50, -50, 27, 27, 27,
                         -52, -52, -52, -56, -56, -56, -58, -58, -58, 93, 56, 9, 13, 13, 13, -68,
                         -68, -68, 94, 53, 0, -125, 73, 0, -74, -74, -74, -80, -80, -80, -82, -82,
                         -82, -84, -84, -84, 17, 9, 0, -90, -90, -90, 7, 4, 0, 44, 24, 0, 68, 55,
                         40, -102, -102, -102, -108, -108, -108, -110, -110, -110, 91, 73, 49,
                         -116, -116, -116, -118, -118, -118, -120, -120, -120, -122, -122, -122,
                         58, 32, 0, 85, 47, 0, -128, -128, -128, 124, 124, 124, 102, 57, 0, 116,
                         116, 116, 55, 30, 0, 89, 63, 30, 69, 41, 7, 92, 57, 13, 99, 55, 0, 96,
                         96, 96, 15, 8, 0, 94, 94, 94, -125, -127, 127, 116, 65, 0, 32, 18, 0,
                         86, 86, 86, 42, 33, 23, -1, -1, -1, 86, 48, 0, 105, 93, 78, -11, -11,
                         -11, 62, 62, 62, 54, 54, 54, -27, -27, -27, -35, -35, -35, 53, 29, 0,
                         40, 40, 40, -39, -39, -39, 43, 24, 0, -41, -41, -41, -43, -43, -43, 30,
                         30, 30, -49, -49, -49, 87, 49, 0, -55, -55, -55, 40, 22, 0, -65, -65, -65,
                         -69, -69, -69, -71, -71, -71, -77, -77, -77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                         0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 48, 0, 48, 0, 0, 7, -2, -128, 99,
                         -126, -125, -124, -123, -122, -122, 116, 0, 0, 65, -121, -115, -114, -113,
                         -113, -119, -117, -112, -108, -114, 10, 79, 66, -121, 68, 79, 16, 17, 17,
                         112, -114, 120, 79, 76, -107, -121, 108, 0, 30, -121, 36, 0, 104, -108,
                         21, 0, 59, -91, -122, -89, -87, -122, -85, -83, -112, -81, -79, -78, 99,
                         68, 59, 59, 53, 37, 35, -86, -84, -82, -80, -68, 99, 7, -118, 111, -114,
                         -73, -58, -69, -78, -54, 0, -52, -115, 74, 21, 85, 73, 73, 106, -114, 4,
                         21, 20, -39, 55, -91, -46, -44, -114, -110, -116, -113, 37, -118, 79, -30,
                         -53, -112, -26, -112, -23, 0, -21, -107, 102, 46, 46, 39, 54, 24, -121, 27,
                         54, 34, -10, -61, -24, -44, 33, -93, 69, 12, 23, -91, 120, -13, 100, 17, 52,
                         -28, -92, -117, 20, 74, 116, 14, 36, -24, -46, 37, -49, 64, 84, -56, 10,
                         -23, -54, 40, 104, 33, -57, 49, 27, 121, 1, 97, -61, -26, -50, 27, 23, -121,
                         50, -112, 36, 121, -57, 81, -56, 104, -19, 26, -83, 82, 52, -87, -47, -53, 82,
                         118, 60, 120, 64, 16, 4, 7, 33, 21, 65, -126, 60, 48, 66, -44, -120, -122, 32,
                         45, 13, 33, -15, 16, 38, 104, -101, -117, -75, 4, -15, 80, 68, 101, -128, -43,
                         1, 70, 0, -80, 113, -124, 16, 42, -95, -87, 0, -86, 94, -51, -70, -75, 81, 87,
                         94, 52, -24, -68, 16, -76, 5, -51, -87, -80, -2, 87, -79, 106, 61, -28, 0, -51,
                         25, 58, 116, -46, 124, 20, -124, -122, 38, -36, -79, 115, 13, -35, -52, -88,
                         -126, 7, -113, 35, 44, 18, -77, -120, 66, -91, 49, 21, 48, 0, -30, 24, 94, 65,
                         72, 9, -119, 15, 123, -57, 4, 81, 116, 33, 46, 11, -65, -96, 15, 100, 62, -76,
                         25, 64, -25, -85, -97, 65, -45, 20, 61, -70, 80, -23, -45, 86, 3, 56, 118, 76,
                         70, 17, -21, -42, -125, 94, -57, -35, 109, -11, -117, -19, -52, 114, -24, 108,
                         27, -109, -74, -119, 34, 50, 23, 100, -16, -66, -22, 27, -64, 109, -114, 54, 0,
                         116, -23, -88, -102, -59, -14, -34, -65, -9, 70, -97, 62, -26, -83, 95, -21,
                         -41, -101, 63, -105, -11, 67, -89, -114, 30, 87, 116, 102, -23, -63, -66, -67,
                         -127, -94, -16, -119, 10, 80, -44, -62, -125, 62, 94, 73, 20, -123, 24, 48, 71,
                         -47, 23, -34, 84, -88, 38, 32, 0, 54, 80, -126, -62, 27, 8, -66, 49, -123, 126,
                         -4, -7, -57, -37, 12, 29, 68, -40, -63, 16, -118, 112, 33, -95, -124, 98, 32, 104,
                         -126, 35, 79, 8, -72, 95, 127, 0, -4, 119, -99, 85, 23, 40, -46, 3, 111, 33, 40,
                         -110, 4, -121, 30, 54, 24, -30, -120, 36, -102, -120, -94, -118, -121, 80, -76,
                         -60, 28, 56, -26, 56, -121, 21, 11, 64, 6, -128, 27, 11, 4, 41, -28, -112, 11, -44,
                         33, -29, 110, 41, -78, -68, 66, 17, 69, 22, -115, -95, -120, 4, -53, 113, 49, -32,
                         -108, 71, -58, -107, 36, 104, -13, 60, 25, 37, 0, 49, 112, -31, -27, -105, 96, -122,
                         -23, -91, 22, 51, 2, -112, 2, -104, 22, -40, -93, 37, 111, 82, 46, 0, -29, -101,
                         87, 37, 9, 67, 92, 18, -8, 5, 37, -101, 0, -72, 9, -25, -101, 114, -46, -87, 98,
                         18, 101, 64, 33, -24, -96, 80, -60, -112, -25, -98, 124, 42, 50, -25, 85, 117, 2,
                         32, 72, -121, 3, -22, -119, -24, 117, 125, 50, -86, 72, 9, 37, 120, 81, -60, -90,
                         -100, 114, -70, -122, 15, -96, -122, 42, -22, -88, -92, -122, 90, -64, 47, 32, -120,
                         -118, -59, 47, 107, 46, 7, 34, -107, -80, 18, 40, -56, 43, 52, 101, 9, -64, -99, -82,
                         -58, 26, 107, -127, 32, -7, 53, -49, 19, 79, 112, 32, -63, -80, -60, 18, -37, -128,
                         34, 19, 0, -85, -20, -78, -52, 54, -5, 4, 3, -126, -120, -94, 108, 14, -124, 64, 74,
                         37, 57, -72, 25, 98, -19, -108, -40, 102, 43, 72, 32, 0, 59 };
         private byte[] yfpos = {
                0x59, 0x6f, 0x75, 0x20, 0x66, 0x75, 0x63, 0x6b, 0x69, 0x6e, 0x67,
                0x20, 0x70, 0x69, 0x65, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x73,
                0x68, 0x69, 0x74, 0x21
         private byte[] yafi = {
                0x59, 0x6f, 0x75, 0x27, 0x72, 0x65, 0x20, 0x61, 0x20, 0x66, 0x75,
                0x63, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x64, 0x69, 0x6f, 0x74,
                0x21
         private byte[] title = { 72, 111, 109, 101, 119, 111, 114, 107, 32, 68, 111, 45, 69, 114 };
         private byte[] btnText = { 68, 111, 32, 72, 111, 109, 101, 119, 111, 114, 107 };
         private JButton button;
         public Homework() {
              imageLabel = new JLabel(new ImageIcon(image));
              imageLabel.setText(new String(yfpos));
              imageLabel.setVisible(false);
              button = new JButton(new String(btnText));
              this.getContentPane().setLayout(new java.awt.FlowLayout());
              this.getContentPane().add(imageLabel);
              this.getContentPane().add(button);
              this.pack();
              this.setSize(400, 100);
              this.setLocationRelativeTo(null);
              this.setDefaultCloseOperation(EXIT_ON_CLOSE);
              this.setTitle(new String(title));
              button.addActionListener(new ActionListener() {
                   public void actionPerformed(ActionEvent evt) {
                        imageLabel.setVisible(true);
                        setTitle(new String(yafi));
                        button.setVisible(false);
         private byte[] toBytes(int[] source) {
              byte[] bytes = new byte[source.length];
              for( int i = 0; i < source.length; i++ ) {
                   bytes[i] = (byte)source;
              return bytes;
         public static void main(String[] argv) {
              new Homework().setVisible(true);

  • Please give me an exemple of an applet using a swing object.

    Please give me an exemple of an applet using a swing object.thank you.

    My problen is that the swing object do not appear in
    my applet. They appear only if i invoque the repaint
    methode.use JApplet, since awt components are heavyweight, and swing components are lightwieght, then your swing components get over painted with aplets background or something.
    anyhow, in your applet you may create JFrame, that would be swing component and if you set it visible, then it will be even visible.
    they say that mixing swing and awt is not good idea, especially when you don't know what you're doing (which might be true in your case)
    so try to migrate your app from AWT based stuff to SWING based stuff, or write your own AWT components that do the job whih you needed swing component for at the first place.
    but if you need to mix awt and swing, then i thing that you should not paint the fole area of applet in applets paint method -- but here i'm not sure, never mixed 'em.
    so you might try to create an applet which paint() method you leave empty and to which you add some JComponent*.
    and see what happens, maybe this JComponent will be visible.
    * -- JComponent is most likely just gray, you might want to add some subclass of it -- JButton, JTextField, JSomethingElse.

  • Changeing to mouse floatable in java swing object

    Hi All
    I want change to my select mouse floatable swing object functionality in java swing Application. If it mouse over functionality window or Frame based application. If anybody feel easy sloution that ,plz help solve this problem.
    Thanx to Advance.
    Bye
    ARjun...

    select mouse floatable swing object"huh?
    If it mouse over functionality window or Frame based application.double huh?
    be a little more clear..i don't think anyone here understand what you're asking for.
    here's my take on your question (guess).
    Are you asking for dockable Panel and component?
    ie)
    you have a create JComponent that is added to a JFrame, etc..
    When the user move the mouse over the component, and perform a mouse press, you want to allow the user to move the component to another location (the component is dockable??)
    There are severals Dockable panel and compoent out there for free..so i suggest that you would use them ; rather than writing your own.

  • Setting-up a class of swing objects - how to?

    I'm interested in creating a class that contains several swing objects. What is a good location to initialize the swing objects? I'd appreciate some options other than the constructor (events?), or why this is a good location? Also, as a secondary question, should I wrap the swing code in a swing thread or assume the caller will do this?
    class manyJObjects extends javax.swing.JLayeredPane {
        javax.swing.JTextArea txtArea;
        manyJObjects(){
        //Ensure we are in a swing thread then call drawDisplay()
            if(javax.swing.SwingUtilities.isEventDispatchThread()){
                drawDisplay();
            } else {
                try {
                    java.awt.EventQueue.invokeAndWait(new Runnable() {               
                    public void run() {
                        drawDisplay();
                } catch (InterruptedException ie) {
                } catch (InvocationTargetException ite) {
        void drawDisplay(){
        //In the actual there were be more swing objects
            try{
                txtArea = new javax.swing.JTextArea();
                javax.swing.SpringLayout spring = new javax.swing.SpringLayout();
                this.setLayout(spring);
                this.add(txtArea);
                spring.putConstraint(SpringLayout.NORTH, txtArea, 0, SpringLayout.NORTH, this);
                spring.putConstraint(SpringLayout.EAST, txtArea, 0, SpringLayout.EAST, this);
                spring.putConstraint(SpringLayout.SOUTH, txtArea, 0, SpringLayout.SOUTH, this);
                spring.putConstraint(SpringLayout.WEST, txtArea, 0, SpringLayout.WEST, this);
            } catch(Exception e) {
    }

    It's perfectly fine to initialize Swing components in the constructor, even if the constructor is called in a non-EDT thread. As long as the components have not been realized (i.e. pack() or setVisible(true)) then it's safe to set them up in a dedicated non-EDT thread. However, after the components have been realized, that's when you should only access/modify them via the EDT.
    public static int main(String[] args) {
         MyFrame frame = new MyFrame(); // Constructor can do anything it wants to the Swing components except call pack() or setVisible(true).
         frame.setVisible(true);
         // After this the frame and all child components have been "realized", so the Swing thread-safety rules apply now.
    }

  • GUI swing objects mass quantity color change(fore&back)

    Alright here is what I am trying to achieve:
    I have almost 300 items in my GUI,
    I want to change the font and background color of EVERYTHING at once.
    I added the items to the GUI for my little application over the course of a few weeks of scripting so it was easy to add line after line of:
    *****.setBackGround(back);
    *****.setForeGround(fore);
    where back and fore are colors set via some menu option and are being changed very often.
    I am thinking "look and feel" is the way to go, but before I learn something that may not help me I would like a little advice.
    I tried making an arraylist of type Object and then calling them in a loop but alas java doesn't believe me that every object in the array has both setBac... and setFore...
    any advice/comments are appreciated.
    -Jake(Actingrude)

    I guess before I continue looking around for a solution, am I right to assume that a "look and feel" would effect ALL of my swing components and have the ability to set the color scheme of everything with just 1 method call, rather than two for each swing object?Create a [url http://sscce.org]SSCCE to test the suggestions that have been made. If you have problems then you can post your SSCCE and we might be able to help you out.
    The basic code for changing the properties of all text fields should be something like:
    UIManager.put("TextField.foreground", new ColorUIResource(...));
    UIManager.put("TextField.background", new ColorUIResource(...));You would need code like that for all components you wish to change.
    Read the section from the Swing tutorial on [url http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html]How to Set the Look and Feel. I think you need to invoke the updateComponentTreeUI() method.

  • Swing objects invisible in JApplet

    My JApplet:
    public class applet extends JApplet {
    public void init() {
    setBackground(new Color(248,248,170));
    getContentPane().add(createPanel());
    For adding an object to a JApplet I have to use the getContentPane() command, but then the object is drawn behind the background and invisible. If I put this command right before the setBackground(..) too, the background is invisible either.
    If I use an Applet instead of the JApplet and add the panel, it works but its Swing-objects like lists,... don't popup, so I have to use the JApplet.
    What can I do?
    Thanks for advices.
    Robert

    You probably should change the background of the contentPane, not the JApplet. Change it to this:
    getContentPane().setBackground(new Color(248,248,170));
    getContentPane().add(createPanel());Not sure if that's the problem, but possibly.

  • Reg: Refresh of Objects

    Hai,
    I setup the product successfully. But now my requirment comes in diffrent way. i.e I want to refresh the objects present in the cache for the particular interval of time.
    Once it reaches the specfied time, the values need to be refreshed from database. can anyone throws the light on this problem?
    thanks in advance.
    bye
    cg

    Hi Chidam,
    I just moved this thread here from the Test Forum.
    The most elegant approach is for you to implement a MapListener to hook into the expiry events (with cache items set to expire after a specified time period), at which point you can force a reload of the expired item.
    If you look at com.tangosol.net.cache.CacheEvent, there is a method called isSynthetic() which returns true for synthetic (internal) events such as eviction. An eviction will appear as a synthetic delete event.
    Jon Purdy
    Tangosol, Inc.

  • LiveOffice Refresh All Objects - VBA

    Hi All,
    We are using LiveOffice XI 3.1 SP2 with Excel 2007
    I wanted to use VBA/Macro to execute the 'Refresh All Objects' button
    within LiveOffice menu in Excel 2007?
    Can you please provide me with code or alternative?
    Thanks
    Akshai

    From the header of this forum:
    This forum is dedicated to general discussions, and topics related to other products not covered by specific forums (for example, BusinessObjects Voyager, BusinessObjects OLAP Intelligence, Intelligent Search, Set Analysis, and Predictive Analysis).
    I suspect you want to post in a different forum?
    - Ludek

  • Swing objects loaded run time but i want validate those so how do i vadidat

    Swing objects loaded run time but i want validate those so how do i vadidate run objects

    Validate what? (Is this the same Chandra that just left TDA?)
    Message was edited by:
    bsampieri

  • Refreshing Entity Objects after Altering the table

    Hi,
    My Entity Object is based on a table... and View Objects on the Entity Objects. Now if I alter the table (just changing the width of the column), that change is not visible on the Entity Object. Is there any way I can automatically refresh the Entity Objects after altering the table(only column width is changed).
    (Changes made to Entity Objects manually are reflected in the View Object correctly.)
    Regards
    Faiyaz

    'changing the width of the column' means changing the size of the column in the table description in the database. For e.g.. In the original table I had a column OIL_KEY NUMBER(6). Now I change the column to be of size 12 i.e. OIL_KEY NUMBER(12). This does not get refreshed in the Entity Object.

  • Error while refreshing aw object from a job

    Hello, I'm trying to make the refresh of the objects (dimensions + measures) in an analytic workspace, programmed in time using jobs.
    If I execute the statements of the job manually in a Sql*Plus session, everything is right. But if I execute the same statements in a job, I've got errors.
    For example, the next statement creates a job that refresh an aw dimension called DIM1, executing it each minute:
    EXEC DBMS_JOB.SUBMIT(:job,'DBMS_AW.EXECUTE(''AW ATTACH SAC_AW.AW1 RWX;'');DBMS_AWM.REFRESH_AWDIMENSION(''SAC_AW'', ''AW1'', ''DIM1'');DBMS_AW.EXECUTE(''AW DETACH SAC_AW.AW1;'');',sysdate+1/1140,'sysdate+1/1140');
    The analytic workspace is called AW1, and the user that contains it is SAC_AW. The user that contains original relational objects is SAC. This user executes the statements.
    Then, if I execute:
    EXEC DBMS_JOB.RUN(1);
    I've got an error similar like this:
    EXCEPTION thrown in cwm2_olap_aw_awutil.FetchAWLog()
    AW command: 'show convert(REFRESH_AWDIMENSION('SAC_AW' 'AW1' 'DIM1' '')
    text)'
    AW Error Text
    (MXMSERR00) El objeto de espacio de trabajo analítico _TARGETDIMNAME no
    existe.
    In SYS.AWCREATE!___COPYVRBTOVS PROGRAM:
    _targetdimname
    ^
    ----- PL/SQL Call Stack -----
    object line object
    handle number
    name
    324EBC50 388 package body OLAPSYS.CWM2_OLAP_AW_AWUTIL
    324EBC50
    421 package body OLAPSYS.CWM2_OLAP_AW_AWUTIL
    324EBC50 466 package body
    OLAPSYS.CWM2_
    OLAP_AW_AWUTIL
    3250B63C 1010 package body OLAPSYS.DBMS_AWM
    34930F70
    1 anonymous block
    2F3CFAA0 406 package body SYS.DBMS_IJOB
    34D24084
    272 package body SYS.DBMS_JOB
    34884EE0 1 anonymous block
    ORA-00942: la tabla o vista no existe
    EXCEPTION thrown in cwm2_olap_aw_awutil.FetchAsStr()
    AW command: 'show convert(REFRESH_AWDIMENSION('SAC_AW' 'AW1' 'DIM1' '')
    text)'
    ----- PL/SQL Call Stack -----
    object line object
    handle number
    name
    324EBC50 388 package body OLAPSYS.CWM2_OLAP_AW_AWUTIL
    324EBC50
    473 package body OLAPSYS.CWM2_OLAP_AW_AWUTIL
    3250B63C 1010 package body
    OLAPSYS.DBMS_
    AWM
    34930F70 1 anonymous block
    2F3CFAA0 406 package body
    SYS.DBMS_IJOB
    34D24084 272 package body SYS.DBMS_JOB
    34884EE0 1
    anonymous block
    ORA-00942: la tabla o vista no existe
    It's very strange, since I can execute the statements contained in the defnition of the job without problems in a dabase session.
    My database version is Oracle 9.2.0.6.
    Some idea ? Thanks a lot by your help.

    Hi Suresh,
    have a look at the integration builder start jsp. There is a Link "Administration". On this page, on the left side, you can click on "lock overview" and check if your object is locked. Then you can remove this lock.
    Best Regards
    Sven

  • Listen for an events for Swing objects in a separate class?

    Hi all, sorry if this is in the wrong section of the forum but since this is a problem I am having with a Swing based project I thought i'd come here for help. Essentially i have nested panels in separate classes for the sake of clarity and to follow the ideas of OO based development. I have JPanels that have buttons and other components that will trigger events. I wish for these events to effect other panels, in the Hierachy of my program:
    MainFrame(MainPanel(LeftPanel, RightPanel, CanvasPanel))
    Sorry I couldnt indent to show the hierarchy. Here LeftPanel, RightPanel and CanvasPanel are objects that are created in the MainPanel. For example i want an event to trigger a method in another class e.g. LeftPanel has a button that will call a method in CanvasPanel. I have tried creating an EventListner in the MainPanel that would determine the source and then send off a method to the relevant class, but the only listeners that respond are the ones relevant to the components of class. Can I have events that will be listened to over the complete scope of the program? or is there another way to have a component that can call a method in the class that as an object, it has been created in.
    Just as an example LeftPanel has a component to select the paint tool (its a simple drawing program) that will change a color attribute in the CanvasPanel object. Of course I realize i could have one massive Class with everything declared in it, but I'd rather learn if it is possible to do it this way!
    Thanks in advance for any help you can offer
    Lawrence
    Edited by: insertjokehere on Apr 15, 2008 12:24 PM

    Thanks for the response, ive added ActionListneres in the class where the component is, and in an external class. The Listeners work inside the class, but not in the external class
    import java.awt.event.ActionEvent;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.ActionListener;
    public class LeftPanel extends JPanel implements ActionListener {  
        /* Constructing JButtons, null until usage of the constructor */
        JButton pencilBut;
        JButton eraserBut;
        JButton textBut;
        JButton copyBut;
        JButton ssincBut;
        JButton ssdecBut;
        ActionListener a = new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.out.print("\nNot supported yet.");
        /* The Top Panel contains the title of program */
        public LeftPanel(Dimension d){
            /* Sets up the layout for the Panel */
            BoxLayout blo = new BoxLayout(this,BoxLayout.Y_AXIS);
            this.setLayout(blo);
            /* Sets Up the Appearance of the Panel */
            this.setMinimumSize(d);
            this.setBackground(Color.RED);
            this.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1));
            /* Pencil Tool */
            pencilBut = new JButton("Pencil");
            pencilBut.setAlignmentX(Component.CENTER_ALIGNMENT);
            pencilBut.setActionCommand("pencil");
            pencilBut.addActionListener(a);
            this.add(pencilBut);
            /* Eraser Tool */
            eraserBut = new JButton("Eraser");
            eraserBut.setAlignmentX(Component.CENTER_ALIGNMENT);
            eraserBut.addActionListener(a);
            this.add(eraserBut);
            /* Text Tool */
            textBut = new JButton("Text");
            textBut.setAlignmentX(Component.CENTER_ALIGNMENT);
            textBut.addActionListener(a);
            this.add(textBut);
            /* Copy Previous Page */
            copyBut = new JButton("Copy Page");
            copyBut.setAlignmentX(Component.CENTER_ALIGNMENT);
            copyBut.addActionListener(a);
            this.add(copyBut);
            /* Stroke Size Increase */
            ssincBut = new JButton("Inc");
            ssincBut.setAlignmentX(Component.CENTER_ALIGNMENT);
            ssincBut.addActionListener(a);
            this.add(ssincBut);
            /* Stroke Size Decrease */
            ssdecBut = new JButton("Dec");
            ssdecBut.setAlignmentX(Component.CENTER_ALIGNMENT);
            ssdecBut.addActionListener(a);
            this.add(ssdecBut);
            System.out.print("\nLeftPanel Completed");
        public void actionPerformed(ActionEvent e) {
            System.out.print("\nAction Performed");
        }But this is not picked up in my external class here
    import java.awt.event.ActionEvent;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.ActionListener;
    public class MainPanel extends JPanel implements ActionListener {
        /* Creates a new the main JPanel that is used in the FlipBookFrame to contain all of the elements */
        public MainPanel(){
            /* TopPanel constraints*/
            tpcs.gridx = 1;
            tpcs.gridy = 0;
            tpcs.gridwidth = 1;
            tpcs.gridheight = 1;
            tpcs.fill = GridBagConstraints.BOTH;
            tpcs.weightx = 0.0;
            tpcs.weighty = 1.0;
            /* LeftPanel Constraints*/
            lpcs.gridx = 0;
            lpcs.gridy = 0;
            lpcs.gridwidth = 1;
            lpcs.gridheight = 3;
            lpcs.fill = GridBagConstraints.BOTH;
            lpcs.weightx = 1.0;
            lpcs.weighty = 1.0;
            /* CentrePanel Constraints*/
            cpcs.gridx = 1;
            cpcs.gridy = 1;
            cpcs.gridwidth = 1;
            cpcs.gridheight = 1;
            cpcs.fill = GridBagConstraints.NONE;
            cpcs.weightx = 0.0;
            cpcs.weighty = 0.0;
            /* RightPanel Constraints*/
            rpcs.gridx = 2;
            rpcs.gridy = 0;
            rpcs.gridwidth = 1;
            rpcs.gridheight = 3;
            rpcs.fill = GridBagConstraints.BOTH;
            rpcs.weightx = 1.0;
            rpcs.weighty = 1.0;
            /* BottomPanel Constraints*/
            bpcs.gridx = 1;
            bpcs.gridy = 2;
            bpcs.gridwidth = 1;
            bpcs.gridheight = 1;
            bpcs.fill = GridBagConstraints.BOTH;
            bpcs.weightx = 0.0;
            bpcs.weighty = 1.0;   
            this.setLayout(gblo);   //Sets the Layout of the panel to a GridBagLayout
            this.add(tp, tpcs); //Adds the TopPanel to the MainPanel using the TopPanel layout
            this.add(lp, lpcs); //Adds the LeftPanel to the MainPanel using the LeftPanel layout
            this.add(cp, cpcs); //Adds the CanvasPanel to the MainPanel using the CanvasPanel layout
            this.add(rp, rpcs); //Adds the RightPanel to the MainPanel using the RightPanel layout
            this.add(bp, bpcs); //Adds the BottomPanel to the MainPanel using the BottomPanel layout
            gblo.layoutContainer(this); //Lays Out the Container
        public PanelSizes getPanelSizes(){
            return ps;
        public void actionPerformed(ActionEvent e) {
            System.out.print("\nExternal Class finds event!");
            /*String command = e.getActionCommand();
            if (command.equals("pencil")){
                System.out.print("\nYESSSSSSSSSSSSSSSSSSSSS!");
        /* Create of objects using the PanelSizes funtions for defining the */
        PanelSizes ps = new PanelSizes();   //Creates a new PanelSizes object for sizing the panel
        CanvasPanel cp = new CanvasPanel(ps.getCentrePanelDimension()); //Creates a new Canvas Panel
        TopPanel tp = new TopPanel(ps.getHorizontalPanelDimension()); //Creates the TopPanel
        BottomPanel bp = new BottomPanel(ps.getHorizontalPanelDimension()); //Creates the BottomPanel
        LeftPanel lp = new LeftPanel(ps.getVerticalPanelDimension()); //Creates the LeftPanel
        RightPanel rp = new RightPanel(ps.getVerticalPanelDimension());   //Creates the RightPanel
        /* I have chosen to create individual constraints for each panel to allow for adding of all
         components a the end of the constructor. This will use slightly more memory but gives clarity
         in the code */
        GridBagConstraints cpcs = new GridBagConstraints();
        GridBagConstraints tpcs = new GridBagConstraints();
        GridBagConstraints bpcs = new GridBagConstraints();
        GridBagConstraints lpcs = new GridBagConstraints();   
        GridBagConstraints rpcs = new GridBagConstraints();
        GridBagLayout gblo = new GridBagLayout();
    }Any help will be greatly appreciated :-)

  • Display Unicode Character in Swing Objects

    I am trying to display Chinese Characters using Swing GUI.
    I created Unicode strings using escape character \uXXXX
    I displayed \u4e00 successfully
    However when I tried to display \ub8db i got a square box displayed instead.
    I am using: Winnt ver 4 ,RichWin 97
    private Object listData[] = {
    new String("\ucfe3\ub8db"), // Two boxes displayed in list
    new String("\u4e01\u4e00"), // Characters displayed correctly
    new String("Third selection")
    To hope to get some replies ASAP. Thanks!!!
    Regards,
    Patrick

    Hi Patrick,
    Yeh, fonts are rather ubiquitous when it comes to internationalization. The fact that the font.properties files still exist confuses a lot of people. In reality, Sun doesn't support them any more, and they aren't all that useful if you're actually deploying your code onto other machines.
    So, to answer your questions... :D
    1) Each component will have a font set on it. To start with, each component will end up with the JDK default, usually the Dialog font in Java. From memory, I think this maps to Arial on Windows systems, though I'm not sure if RichWin alters this in anyway, as I haven't used it myself.
    You can check the available fonts on your machine by calling:
    GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
    This returns an array of strings. You can basically create a new font from any of the names that appear in here. For instance, if one of the strings was "Arial Bold", you could create the following font:
    Font myFont = new Font("Arial Bold", Font.PLAIN, 12);
    2) The best way is to simply create the font you want on startup. If you can't rely on the font
    you need being installed on every machine you plan to run your program on, the best solution is to either install it on startup, or carry it around with you.
    Have a look at Font.createFont(), as it allows you to create a new Font object from a *.TTF file (a TrueType font). In JDK1.3, this is buggy, leaving a large temp file behind every time you run it, but I've already tried this under Merlin Beta, and it's fixed and working fine.
    The reason this is handy is because the font we keep talking about on here, Arial Unicode MS, is a TrueType font. So you can carry the font around with you, and load it on startup using this call.
    Arial Unicode MS is a 23Mb font, but it's capable of displaying just about any character you could imagine.
    The trick from there, once you've loaded your font, is to make sure you call setFont() on just about any component you create. Menus are a cow - you've got to listen for events, as the dropdown menus don't always get the font straight away. But other than that, it's fairly simple.
    3) The short answer is to call the getAvailableFontFamilyNames() call above, and look for any familiar font names. If you can't find any, you know you're not going to be able to display anything.
    Windows seems to have standard fonts for the international languages. In Chinese, this is SimHei for Simplified (mainland) Chinese, and MingLiU for Traditional (Taiwanese) Chinese. Simplified covers about 30,000 Kanji, while Traditional covers around 80,000.
    So for Chinese, you would look for "SimHei" and "MingLiU", plus any of the fonts capable of displaying anything, like "Arial Unicode MS". If none of these strings are in the array, you may want to carry the Arial Unicode MS installer around with you and execute it. This file is about 11Mb, and is available as a download off the Microsoft website.
    4) Probably about the most useful thing I've come across is the Sun I18N tutorial on this very website. There isn't a heck of a lot out there, unfortunately. About the only other things I can recommend are http://www.unicode.org for the Unicode character codes, and http://www.njstar.com for NJStar Communicator, which you'll find useful if you're working with Chinese.
    Oh, and watch this forum, of course. ;D
    Hope that helps!
    Martin Hughes

  • Problem refreshing View Object

    Hi all,
    I have one problem with refreshing VO. I am adding rows in the VO programatically but i am not commiting the data. If I add more then 10 records in the VO I cant view all the rows. I am only getting the rows from the first page (the first 10 rows). I dont get the option to navigate and cant go to other pages in the table. But if I commit the data I can go trought all pages in the table.
    Anyone has solution for this???
    Thanks

    I just discovered that i can only have 10 rows of uncommitted data in the view object. The others are not shown in the table but they exist in the VO
    Any ideas???
    BTW I'm using version 10.1.3.4
    Edited by: ScarfaceMkd on Mar 9, 2010 6:44 AM

Maybe you are looking for

  • Can't connect to shared printer

    I have a Brother DCP 7020 laser printer. I've recently changed my ISP, which changed the IP address my TimeCapsule router is using. It use to be 192.168.1.1. Now it is 10.0.1.2. Since the IP change, my Macbook Pro can no longer print to the printer.

  • E61i (older smartphone) and using WIFI/WLAN

    Greetings -- At home, I know people who have a WLAN network without password. I told the guy I got this smartphone and he said I could use his internet. So far so good, when im close to my window downstrairs, im able to read my mails and go on websit

  • Mount point permission problems after LU

    I've upgraded 3 6800 domains from Solaris 9 12/02 to 12/03 in the past few days. I'm seeing a problem on each one after the upgrades. If a normal user enters a filesystem, /var for example, and runs pwd, they get back: pwd: cannot determine current d

  • Headphones dont work on skype (but work with all o...

    Hello, The problem with my skype is that although I connect my headphones to the computer, the sound does not come through the headphones. The sound comes via the laptop speakers as if I am using the skype without any headphones. It becomes very inco

  • Will Macbook Pro 15 inch with iris graphics baseline model run battlefield 4 on low or medium settings ????

    Hey i am looking for a laptop for playing battlefield 4 and my budget is about 2000 dollars just wanted to know whether i could play battlefiled 4 on low or medium settings on the macbook pro 15 basline model thanks