Question about the EDT

Hello world

Here my question: I have to write a little something on the EDT and SwingUtilities use to avoid common problems with the use of Swing. Of course, to my knowledge, I wrote a small example using a progressBar to show how it does not work when you are not using SwingUtilities:
import javax.swing.JDialog;
import javax.swing.JProgressBar;

public class UITesting{
    public static void          main                                            ( String[] args ) {
        JProgressBar    jProgressBar    =   new JProgressBar(0, 100) ;
        jProgressBar.setValue(0);
        jProgressBar.setStringPainted(true);

        JDialog         dialog          =   new JDialog() ;
        dialog.setSize(400, 70) ;
        dialog.setContentPane(jProgressBar) ;
        dialog.setLocationRelativeTo(null) ;
        dialog.setVisible(true);
        
        int flag = 0 ;
        for (int i = 0 ; i < 100000 ; i++) {
            System.out.println(i);
            if ( i%1000 == 0 ) {
                jProgressBar.setValue(++flag);
                System.out.println("Increase ProgressBar " + flag);
            }
        }
    }
}
And surprise (at least for me)... it works... means that my ProgressBar increases well...

So I write an example more closely to reality
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JProgressBar;

public class UITesting{
    public static void          main                                            ( String[] args ){

        final JProgressBar    jProgressBar    =   new JProgressBar(0, 100) ;
        jProgressBar.setValue(0);
        jProgressBar.setStringPainted(true);

        JButton         start           =   new JButton("Start") ;
        start.addActionListener( new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                int flag = 0 ;
                for (int i = 0 ; i < 100000 ; i++) {
                    System.out.println(i);
                    if ( i%1000 == 0 ) {
                        jProgressBar.setValue(++flag);
                        System.out.println("Increase ProgressBar " + flag);
                    }
                }
            }
        }) ;

        JPanel          panel           =   new JPanel() ;
        panel.add(start) ;
        panel.add(jProgressBar) ;

        JDialog         dialog          =   new JDialog() ;
        dialog.setSize(400, 70) ;
        dialog.setContentPane(panel) ;
        dialog.setLocationRelativeTo(null) ;
        dialog.setVisible(true);
    }
}
This time it's perfect, the ProgressBar control does not work, it goes from 0 to 100% at the end of my loop and button freeze during the process, I can illustrate my point and introducing a SwingUtilities using... But why it works in my first example?

I know that a call to an ActionListener in a Swing component to ensure that the specified code is executed in the EDT, but I still can't get it? Can someone help me understand this?

THX in advance,

yannig

Published by: yannig March 24, 2011 10:57

yannig says:
This time it's perfect, the ProgressBar control does not work, it goes from 0 to 100% at the end of my loop and button freeze during the process, I can illustrate my point and introducing a SwingUtilities using... But why it works in my first example?

The main method is called on the 'hand' - thread of the JAVA virtual machine, which is not on the EDT. A search on "Concurrency tutorial Java Swing" for more information.

In short, the small, good Swing programs is something like:

import java.awt.EventQueue;
import javax.swing.JOptionPane;

public class HelloWorldSwing {
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                JOptionPane.showMessageDialog(null, "Hello world!");
            }
        });
    }
}

Your first programs works because you loop is on the main thread, while the second is on the EDT. Here it blocks all the paint if you don't see any progress.

Tags: Java

Similar Questions

  • A few questions about the difference between the Satellite P70, L70, S70

    Hello, I have a lot of questions about the P70, L70, S70 series that come with a 1920 x 1080 panel.

    (1) what are the differences between the L70 and S70 series? With the exception of the RAM and HARD drive capacity, books seem pretty identical.

    (2) P70, L70, S70 doesn't support a 2nd HARD drive or it's just the P70 series that support?

    (3) all the three (P70, L70, S70 series) come with the same TFT panels?

    (4) of the above series, which supports mSata?

    (5) all the model of each series are delivered with support from mSata? For example, it could be that L70 - a - 13 m supports mSata is not the case of the L70-a-146?

    (6) all the foregoing, are delivered with a S - ATA II or III S - ATA interface?

    (7) who is the best of these series listed? I'm trying to understand what makes the big difference of S70 to P70 except for the envelope for example.

    Thank you in advance.

    > (1) what are the differences between the series L70 and S70? With the exception of the RAM and HARD drive capacity, books seem pretty identical.

    What models Sat L70 and S70 do you mean exactly? There are different L70-xxx-xxx and S70 models on the market that supports different hardware specifications.

    (> S70 2) P70, L70, support a 2nd drive HARD or is - it just the series P70 that support?
    As you can see in this [Sam P70 HDD replacement document, | http://aps2.toshiba-tro.de/kb0/CRU3903II0000R01.htm] the P70 series supports the 2nd drive Bay HARD, BUT even if there is a 2nd HARD drive Bay, this does not mean that you can use the 2nd HARD drive. In the case where the 2nd HARD drive Bay are equipped with HARD drive connector, you can use the 2nd HARD drive

    I also found the [Sam L70/S70 HDD replacement | http://aps2.toshiba-tro.de/kb0/CRU3703HG0000R01.htm] the document on the Toshiba page and there I see this 2nd HARD drive Bay is not available

    (> 3) all three (P70, L70, S70 series) come with the same TFT panels?
    See point 1). Different P70, L70, S70 models were equipped with different material parts.

    (> 4) of the series above, which takes in charge mSata?
    As far as I know that some P70 models are equipped with an mSATA SSD of 256 GB.

    (> 5) do all the model of each series are delivered with support mSata? For example, it could be that L70 - a - 13 m supports mSata is not the case of the L70-a-146?
    See point 4) not all models supports the same hardware specifications

    (> 6) all of the above, come with a S - ATA II or III S - ATA interface?
    I don t think that SATA III is supported. I guess it would be SATA II

    (> 7) which is the best of these series listed? I'm trying to understand what makes the big difference of S70 to P70 except for the envelope for example.
    Not easy to answer because there are too many models released in Europea.
    And not all models are available in each country. So I guess you will have to look for the models that have been released in your country.

  • A few questions about the upgrade on Satellite A300-144

    Sorry for the typos, English is not my mother tongue.
    I want to ask some questions about the upgrade of a300-144.

    * Some info first.*

    CPU: T2370 ([http://ark.intel.com/products/34445/Intel-Pentium-Processor-T2370-1M-Cache-1_73-GHz-533-MHz-FSB]).
    Chipset: GM965 ([http://ark.intel.com/products/29821/Intel-82GM965-Graphics-and-Memory-Controller]).

    * Questions.*

    1. my frequency of laptop memory at 533 MHz, supports 667 MHz memory controller, memory modules can work at 667 MHz. Is - this because CPU FSB 533 MHz frequency and new processor at 667/800 MHz FSB will fix it or it is hardcoded in the BIOS?

    2 Intel said that the size of max memory for my chipset is 4 GB (2 x 2 GB), but Toshiba says that only 2 GB (2 x 1 GB), who is right?

    3 I know, taken of my CPU is μFCPGA-478 aka socket P, max FSB 800 MHz, max 35 W TDP, so T9500 ([http://ark.intel.com/products/33918/Intel-Core2-Duo-Processor-T9500-6M-Cache-2_60-GHz-800-MHz-FSB]) is a compatible processor or there are some limitations in the BIOS?

    > 1. My frequency of laptop memory at 533 MHz, supports 667 MHz memory controller, memory modules can work at 667 MHz. Is - this because CPU FSB 533 MHz frequency and new processor at 667/800 MHz FSB will fix it or it is hardcoded in the BIOS?

    The speed of the memory is related on the material. This means that the FSB is responsible for the limitation.
    If the FSB would allow support 667 MHz then the memory would also at this speed.

    > 2. Intel says that the size of max memory for my chipset is 4 GB (2 x 2 GB), but Toshiba says that only 2 GB (2 x 1 GB), who is right?
    The memory depends on the chipset. So if the chipset supports 4 GB of RAM, you should be capable of this move to 4 GB of RAM

    > 3. I know, my CPU is? FC-PGA-478 aka socket P, max FSB 800 MHz, max 35 W TDP, so T9500 (http://ark.intel.com/products/33918/Intel-Core2-Duo-Processor-T9500-6M-Cache-2_60-GHz-800-MHz-FSB) will be a compatible processor or there are some limitations in the BIOS?

    It might be possible that the new processor would be fully supported by the BIOS, but in most cases it should not be a problem if the chipset would support the new processor.
    But as far as I know the upgrade of the CPU is not supported by Toshiba or any other manufacturers of portable and its your own risk to run laptop with the new processor.

  • Question about the recovery partition

    Hello.

    I have a question about the recovery of HARD drive partition.

    If I do the operation to clear the hard disk option in the wizard it will remove * all * or it will keep my partition recovery in this way I can come back later. I want to know because I would like to put on a different OS.

    I know he said he would, but caution in the PDF, I found it says that on a normal recovery too (that he would remove each partition) and I'm a little confused about how the recovery actually worked.

    Thank you.

    Hey Buddy,

    To be honest I n don't know what you mean exactly with this option to erase.

    In General, Toshiba Recovery disk will wipe your entire HDD to restore factory settings correctly. This means that if you start from that disk and follow the instructions on the screen, everything will be removed.

    In addition, the recovery disk doesn t create a recovery partition. It is not available. Disk copy just the files on the second partition in folder HDDrecovery to start an installation of HARD drive recovery.

  • A few questions about the Satellite A100 PSAANE

    Hi friends,

    I have a Toshiba Satellite A 100 - PSAANE with Vista Home Basic preinstalled in it.
    Now, I have a few questions... I mention below: -.

    (1) if I want to format my laptop, I need a CD to install for Vista Home basic... then I don't have this Toshiba CD when I bought the laptop. So how do? question: How can I format it?

    (2) can I change my Vista Home Basic to windows XP? I think it's much faster than this one. is it advisable?

    (3) I have a GB of RAM in the laptop. Increase the RAM? I think that my laptop has become to slow down. is it advisable?

    (4) and on my screen, everytime I try to change my profile screen to windows Classic view, my screen begins to blink. and after a while, the screen turns off. So I can't change that. I put the color scheme of windows vista only. What to do about that?

    Please help me friends. Thanks in advance.

    Kind regards
    Perkins

    Hello

    Here, a few questions about the number:

    (1) usually, you should get the Vista Toshiba Recovery DVD. If you didn t receive this DVD then you can order it here https://backupmedia.toshiba.eu/landing.aspx or you could install the disc of Microsoft Vista.

    (2) of course, you can do this. I think that Win XP drivers can be downloaded from the Toshiba driver page.

    (3) Yes, you can upgrade the RAM. For more information, see your manual or search on this forum for similar topics

    (4) maybe it s associated with the graphics driver. Check if you can update. I would recommend additional check if you are using the latest version of the BIOS

    Welcome them

  • Re: Several questions about the recovery of the Satellite L750 features

    I have several questions about the recovery of Satellite L750 features available to it. Any help and answers would be useful.

    (1) when I started the laptop first, he asked me to create a recovery CD incase I need to reinstall the operating system. But he also said that he built in the recovery partition, so therefore, I have to make a recovery cd or not?

    (2) will be the recovery CD is exactly the same as the recovery on the system partition?

    (3) is the partion of CD or recovery includes all the integrated software pre-installed with the laptop?

    (4) also in the device manage management it shows watch partion recovery but it is empty, is it true?

    (5) in the second partition (drive D) system, he has a record with what looks like the recovery of files and folders. Is it safe to move/remove it?

    Hello

    I'll try to provide answers:
    1 - to ensure that everything works perfectly you don t need these discs, but if something goes wrong with the HARD drive you will not be able to do anything. When you have the recovery DVDs, you will still be able to install the recovery image and once again the factory settings. So my advice to you is: create these discs as soon as possible. Use only on DVD-R media and buy products of high quality (TDK or Verbatim).
    2 - Yes.
    3 - Yes.
    4 - No. Don t be confused with this.
    5. in a first time create restore DVD, and later you can do what you want. I put t know which files mean you but don t touch anything before that of the recovery disks to be created.

    In the past, many people have been experimenting with the structure of HARD drive and partitions and later was surprised when installing disk recovery HARD has been damaged. Don t make the same mistake.

    If you have any other questions you are welcome.

  • Question about the new Yoga 10 HD +.

    Hello

    A few questions about the new Yoga 10 HD + that I hope you can answer.

    I bought the former model, last year. Love the design and long battery life, but a few major questions made me return.

    • Somewhere that I've read that it can not read NTFS on USB so I guess that's the same thing with a NTFS formatted microSD card?
    • Can it read exFAT formatted microSD cards?
    • Anyone who has questions about the audio via bluetooth?
      (I know that BT is not exactly High End HiFi but the old 10 Yoga for some obscure reason - most likely a driver problem which nobody cared to fix - rang * very * worst with visibly distortion while both my phone and a Tablet noname cheap I have zero about fidelity - any of my devices bluetooth audio) I tried aptX or not)

    So to avoid buying it back it also I really I would like to see if I can get my questions answered before buy you.

    While I love the form factor and long term issues above are only two Mayor dealbreakers for me. Bad audio quality = no joy listen to spotify, local etc. MP3s. not of NTFS or exFAT = some great movies.

    My old noname android Tablet really could use an upgrade so I'm really curious it may be, or I should watch the competition and will be form factor and battery LIFE.

    Thanks in advance.

    EDIT:

    If it does not support NTFS or exFAT on microSD card have someone at - he tried ext3 or ext4?

    I mean with Linux Android root, it should be a no-brainer to support at least when it comes to royalties unlike NTFS or exFAT where it * might * have some trouble with Microsoft.

    I used a USB through a USB OTG cable. NTFS or exFAT have been recognized by the Tablet PC. FAT32 is seems to be the preference.

  • I have a question about the time machine. I recently updated my Quicken 2015 and there was something wrong with the update. Can I go back in just the Quicken file and restore it until I downloaded the update do I have to restore the entire

    I have a question about the time machine. I recently updated my Quicken 2015 and there was something wrong with the update. Can I come back in all the Quicken file and restore from time Machine before I downloaded the update to do, I need to restore the entire computer?

    Yes, you can just restore this file or application. Use Time Machine to back up or restore your Mac - Apple Support

  • Just a quick question about the appearance of the cluster

    Hello, this is Matthew, just a quick question about the appearance of the cluster

    Is there anyway to rearrange the order of the elements? I know cutting automatic resizing, I could move the items by hand. But if I use the cluster somewhere else, I have to move the items again...

    What I want is of the order of "Mx My Mz Ax Ay Az Temp voltage CS".

    Is there a quicker way to deal with?

    THz so much!

    You can right-click the border of the cluster and choose "arrange control cluster...". "The user interface is not as intuitive as it could be, but it will allow you to reorder items. If you use the cluster in several places, you should make the cluster in a type definition and replace all current uses of the latter with the type definition, so that they all match. They will also update automatically when you make changes to the type definition. Otherwise, you could have a situation where you have multiple groups with the same data types, but with elements in a different order, and your data will be getting a new denominated, when wire you the whole clusters. The data will be in the same order, but given that the item labels are in a different order, you can't get the data you want, when ungroup you by name.

  • A few questions about the use of data and Cliq

    I have the cliq, however I chose to not get 3G (so I bought full fare). So I have a few questions about the phone and the use of 3G / 2 G/Edge:

    1 - is possible to disable completely the 2G / 3 G/Edge? I know you can switch between them, but are anyway just tell the phone to stop using them altogether since I'm not subbed to the service?

    2. when the update takes place, I guess we'll have to reconnect motoblur and etc, but if I don't have 3 G will I have motoblur connection problems after the update? Or he keeps the latest wifi settings so that it would connect to wifi to connect. When I first got my phone it was not a problem b/c I had 3G for the first month.

    I hope that makes sense, thanks!

    To stop all the data, I would like to download an application called APNDroid. He cut them all down. When you log on to blur you have 3G or WIFI doe this without getting a timeout error. During the process of setting up your Blur account, you can press the menu button and set up your wifi to work, this will connect you to Blur and your phone will be connected to the blur. If I were you I would be rethinking to do a data plan since you are really losing out on most of your main features of phones. It's your choice, however.

  • Is it a good place to ask questions about the slow s Tablet touchscreen response?

    Is it a good place to ask questions about the slow s Tablet touchscreen response?

    You experience slow response on normal s tablet, the first gen one or the Xperia s tablet, a new.

    If you experience a slow response, it may be because you use too many apps at the time and slowing down of your tablet. How long it lasts?

  • Questions about the Windows Feedback program Fullfillment

    When will I know if my fullfillment of windows feedback program is over, that I have installed on my PC?

    Hello mpic16,

    If you have questions about the Windows feedback program, you will need to respond here.
    https://WFP.Microsoft.com/welcome.aspx

    You can send an email to: * e-mail address is removed from the privacy *.

    They would be better able to answer your questions and concerns.

    Sincerely,

    Marilyn
    Microsoft Answers Support Engineer
    Visit our Microsoft answers feedback Forum and let us know what you think

  • Ask questions about the functionality of EA8500 MU-MIMO

    Dear Linksys

    I bought EA8500, and it arrived today.

    I have two questions about the functionality of MU-MIMO of EA8500 AP.

    1. I want to compare the performance between SU-MIMO and MU-MIMO, but there is no option to control this feature in the router admin page. Is that one of the possible ways?

    2 EA8500 supports 1733 Mbps wireless speed, but it resembles the speed of 1 Gbps ethernet cable.

    This router supports really speed 1 Gbps ethernet? or y at - it an option to support more throughput as the aggregation of links?

    Thank you

    Hi, hyeonu. For your first query, it is not possible because there is no option to disable the feature of MU-MIMO on your Linksys EA8500 router. In addition, with regard to your second, you can get a higher throughput of 1 Gbps since this is the maximum capacity of your ethernet connection.

  • How can I change my HTTPS thing, so it isn't always pop up and ask questions about the sites Web secure when I play some games?

    Feel free to change the title

    How can I change my HTTPS thing, so it isn't always pop up and ask questions about the sites Web secure when I play some games?

    You're talking about Facebook?

    Try the gyration of the Secure Browsing

    http://www.Facebook.com/help?page=1079

  • Question about the charging light on the venue Pro 11 (5130)

    I'm curious... read these discussions in recent weeks... found this work with the Tablet for about 2.5 hours after... I was up to 75% of battery. Connect the tablet to install a software... noticed 75%, not charging. Stop... removed the battery and put it back... He then read 75%, in charge. OK... so what's fixed now... a question about the manual of the system. Said that when the battery is charging, a white light is supposed to be on... where? When that I start, I see a momentary white light at the top of the screen, by the front camera... but when it is plugged and the loading and off... white light no.... No a - I misread? Thank you

    Light (color is white when the load) is located next to the power switch (top, right). Mine re-load very fast.

    White light goes off (or does not) when the Tablet is fully charged (the light on the charger is always on when it is plugged into the outlet)...

Maybe you are looking for