Did I get it right? EDT is the main thread of GUI. To start a long operation, it's preferred to run it in new thread. So why do we need to use EventQueue for that? Why can't we simply create and run new thread just like in non-Swing programs?
why do i need EventQueue to start a new thread in java EDT? (JAVA)
348 Views Asked by nicks At
2
There are 2 best solutions below
1
Will Hartung
On
No, the EDT is essentially running on the main thread implicitly. You don't "move" the EDT. Rather, if you want to work off of the main thread, and off of the EDT, you do as you say and start your own thread.
Take a look at SwingWorker. It's a common mechanism to help facilitate this.
Related Questions in JAVA
- I need the BIRT.war that is compatible with Java 17 and Tomcat 10
- Creating global Class holder
- No method found for class java.lang.String in Kafka
- Issue edit a jtable with a pictures
- getting error when trying to launch kotlin jar file that use supabase "java.lang.NoClassDefFoundError"
- Does the && (logical AND) operator have a higher precedence than || (logical OR) operator in Java?
- Mixed color rendering in a JTable
- HTTPS configuration in Spring Boot, server returning timeout
- How to use Layout to create textfields which dont increase in size?
- Function for making the code wait in javafx
- How to create beans of the same class for multiple template parameters in Spring
- How could you print a specific String from an array with the values of an array from a double array on the same line, using iteration to print all?
- org.telegram.telegrambots.meta.exceptions.TelegramApiException: Bot token and username can't be empty
- Accessing Secret Variables in Classic Pipelines through Java app in Azure DevOps
- Postgres && statement Error in Mybatis Mapper?
Related Questions in MULTITHREADING
- How can I outsource worker processes within a for loop?
- OpenMP & oneTbb difference
- Receiving Notifications for Individual Task Completion OmniThreadLibrary Parallel.ForEach
- C++ error: no matching member function for call to 'enqueue' futures.emplace_back(TP.enqueue(sum_plus_one, x, &M));
- How can I create a thread in Haskell that will restart if it gets killed due to any reason?
- Qt: running callback in the main thread from the worker thread
- Using `static` on a AVX2 counter function increases performance ~10x in MT environment without any change in Compiler optimizations
- Heap sort with multithreading
- windows multithreading CreateMutex
- The problem of "fine-grained locks and two-phase locking algorithm"
- OpenMP multi-threading not working if OpenMPI set to use one or two MPI processor
- WPF Windows Initializing is locking the separated thread in .Net 8
- TCP Client Losing Connection When Writing Data
- vc++ thread constructor throwing compiler error c2672
- ASP.NET Core 6 Web API : best way to pause before resending email
Related Questions in SWING
- Issue edit a jtable with a pictures
- How to use Layout to create textfields which dont increase in size?
- How do I print a JTable in the form: Image + header + table in a single page (Java Swing)
- GUI window is not appearing
- Java program images not showing up
- Editing non-String values in JComboBox
- Use the same button in different interfaces (JAVA)
- Java Swing Paint Performance
- Frame showing up super small Java Swing
- Remove JTable cell truncation
- setBorderPainted, how to preserve effect on hover
- Subclassing from BasicButtonUI - text is rendered, but no border nor background
- Java paintComponent not display background image on JFrame
- Attempting to place JDIalog on top of current position of a JFrame
- 2 characters stop when other jump or 2 stop when changing the Direction - JAVA
Related Questions in THREAD-SAFETY
- Multiple Processes, Multiple Processors, Single Priority Queue - Java Thread-Safe and Concurrency -
- Thread-safe lock-free min where both operands can change c++
- Atomic increment operation in C++?
- In Java, a currying function is thread-safe or not
- How can I make my flask + sqlite3 application threadsafe
- Thread task not exiting when atomic value changed
- Issues with Concurrent Execution and Synchronization in a Custom Java Caching Mechanism
- Why is SpringApplicationBuilder.run made as thread-safe?
- lua_continuation, lua_thread functions
- Virtual threads in Java with backwards compatibility
- AWS Go SDK V2: assuming different roles concurrently
- Why does my PyQt5 and Vispy application only update the GUI when adding sleep in QThread's loop?
- Different threads updating different attribute of the same object, will it work?
- How to avoid Duplicate Document Numbers for Invoice created through netsuite RESTAPI
- In Rust, how to create a globally shared singleton with `OnceLock`?
Related Questions in EVENTQUEUE
- Why don't jobs in a Celery chain pass their result to next job when wrapped in a chord?
- Is there a way to know the functioning of the event queue in pygame?
- The execution order of setTimeout and AJAX onload callback function
- JavaScript onMouseDown and onClick events versus event queue
- Sending remainder email dynamically node js
- SV assertion to flag incorrect verilog event region
- Why can't gdb read io_uring_cqe contents?
- Avoiding Race Condition with event queue in event driven embedded system
- How Does the JavaScript Interpreter add Global Statements to the Event Queue?
- console log inside a setTimeout unexpected delay
- Why do functions from event queue aren't called even when main executions stack is empty?
- Java Swing Components Init NullPointerException
- How to create queue of events in order by date
- Event queue cleanup
- How to return a custom type <Hero> from View (GUI) to controller?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
There is nothing that says you need to use the EventQueue if you are running a long running operation in the background. The purpose of the queue here is to utilize if you have to update the UI that the long running process is complete.
When the process is complete you would put some kind of runnable notification on the Event Queue to notify the UI of completion.