Swing/AWT/SWT :: How To Cancel A Long Running Database Background Process In Program
Apr 16, 2014
Can we cance/stop a long running database query execution instantly so that we can do any another task.
As i know swing uses a single thread i,e Event Dispatch Thread (EDT), But at the same time we can use Swingworker class for better use of UI. When we use Swingworker class the process goes to a different thread and our basic UI is not Frozen. Infact we can do another task. But what I want is I want to stop of cancel the execution of swingworker thread ( Because I that thread takes long time to execute). How can I do that??
I used ProgressMonitor and in the cancel option i canceled the task ( worker.cancel(true) also i closed the connection and statement for executing the database query using stmt.close() and conn.close() methods.
But it does not work. How to cancel a long running database background process in a Java Swing Program.
I have in my application a button that when it is pressed, runs a long running task (usually takes a couple of seconds....).
My problem is that while the task runs, I want to stop the button from receiving clicks. Unfortunately this is something I have not achieved.
I have tried creating a new thread and calling the long running method, and using the Display.geCurrent().asyncExec...
Examples of what I have tried so far:
myButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (myList.size() > 0) { myButton.setEnabled(false); myButton.setGrayed(true);
[Code] .....
In both cases, while the button is disabled and the cursor busy, if the user clicks the button, the long running method is ran several times - and this is what I want to avoid.
I want to develop a Java EE application for the following scenario.
Webapp takes a file from a user and analyze the file. This analysis could take hours. User should be able to check if the analysis is finished via AJAX. When the analysis is finished user should be able to view the analysis report that has been generated by the analyzer.
I checked what are the possibles ways I could achieve this but couldn't get a clear idea. I heard about JMS, Work Manager API and servlet asynchronous processing. But still not sure what to use and how to use.I'm not very much familiar with EJB.
I am working on a management gui for a program. I have implemented the start server button. But now I need to get something working so that when I press stop server the javaw.exe process which is running the the other jar file is stopped and ended.
The gui is going to be using a javaw.exe as well and I don't want to end the entire thing.
I just want to end the javaw.exe process that is running the other jar file.
This is my code for starting it:
JButton btnNewButton_2 = new JButton("Start Server"); btnNewButton_2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Runtime rt = Runtime.getRuntime(); try { Process pr = rt.exec("java -jar DEDServer_release.jar");
[Code] ....
I just need to figure out what to do to stop it now.
I need to process 10000 xml files and verify and insert the data into database. I am loading all the files in the file object and iterating one by one. I am getting the memory issue. How to handle this?
I have to store data I've pulled from the web i wanted to do this by storing it in a database but after looking at some tutorials i'm not sure if its possible as the databases don't seem to run with the application but instead run as an independent entity.if its possible to have a database in the java application so it runs when the application runs.
I've built up an unreasonably large and unreasonably complicated JPanel. Unfortunately, when I use setViewportView to add it to a JScrollPane, a get an extended UI freeze—that operation takes several seconds. I'm trying to figure out what's taking so long. I've tried some fairly extreme things, like overriding the paintComponent, PaintComponents, paintChildren, paint, repaint, validate, revalidate, and validateTree methods in the panel with no-ops to try to figure out what's taking so long, but to no avail. I've tried validating the JPanel before adding it, but that has no effect. If I override the addImpl method of the scroll pane, that makes things quick, but it doesn't really narrow things down much.
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at javax.swing.ImageIcon.<init>(Unknown Source) at com.ui.ChatFrame.<init>(ChatFrame.java:44) at com.ui.ChatFrame$6.run(ChatFrame.java:412) at java.awt.event.InvocationEvent.dispatch(Unknown Source)
My current URL is URL....The context rootpath is URL....In my current URL page, I upload a CSV file. This page has two buttons-- ok and Cancel and these buttons are what I'm having trouble with ( I will come to that part in a short while). The relevant JSP part is as follows.
<html:form action="importEmployee?method=save" method="POST" styleId="importEmployee" enctype="multipart/form-data"> ....... some headers and title bar and stuff... and then as follows. <div class="contentSection"> <table border="0" class="formTable"> <html:hidden property = "selectedSet" /> <tr>
[code]...
So, if I click on cancel in the second URLpage (URL...), I go back to the first URLpage, i.e to URL...But this part behaves differently in Firefox and in Chrome browsers.In Chrome, if I click on cancel in the second page, I can still see the uploaded file name( the hidden property in the first JSP is the file name ) in the first page. And if I click on ok, I can do the processing again as was done by clicking ok the first time on the first page.However when I run my application in a Firefox browser, if I click on cancel in the second page, the uploaded file name says 'no file selected' in the first page. Hence to import Employees again, I need to upload a new/same CSV file again.
I don't want the file to be present in the first page when I click on cancel in the second page even when I run my application in Chrome. Yes, I require the file name to be a hidden property. This is because depending on the data in the file, different kind of processings are done and some of them require to take additional inputs from user on another page and a third page does the processing. So the file name should be passed on to the form but I don't want the user to upload the file again.
However in the event the user clicks on cancel, I don't want the file name to be retained in the first page. But this isn't happening.So I have two questions. Why is the behaviour different in Chrome and in Firefox and is there a way I can correct the way it behaves in chrome?
Okay i have done some research and have found that when using the JOptionPane, when the cancel or x button is clicked, the value is returned as null for the particular JOptionPane. It does not seem to work when I try to code it though, I have tried the following:
Java Code:
public static int getBoardType() { int boardType = 0; String boardInput; boardInput = JOptionPane.showInputDialog(null, "Enter 1 (LongBoard), 2 (Shortboard), or 3 (BoogieBoard)." , "Dwelling Type", JOptionPane.QUESTION_MESSAGE);
[Code] ....
If the "X" button or the Cancel button does in fact return a null value, why is the way I have this set up not working?
On a web application i can take a pdf cut it and convert it to html. As a result of this is that i can have my own design(Background) on HTML and then use it on jsp.
Is there a way to do this also in swing ? take a pdf and convert it to jframe or something similar so that i can have my own frame design (Background)?
so i'm supposed to create a jframe with only 1 button. each time you push the button it is supposed to go from red to green to blue to gray and back to red starting over. i can get is the background to change on the first click, then the button is useless for eternity. here is my code:
import java.awt.*; import javax.swing.*; import java.awt.event.*; public class Exercise2_59 extends JFrame implements ActionListener { JButton change;
I have added a background image to this JFrame (see image attached) as I want the buttons and field to just be on top of the image, how to remove the colored part of the JFrame that is left?
I'm getting back into the swing of things with Java after using I'm asked to utilize a simple GUI in order to take in the starting data, I cannot seem to get this to work. I'm getting this error Exception in thread "main" java.lang.NullPointerException
at java.awt.Container.addImpl(Unknown Source) at java.awt.Container.add(Unknown Source) at Input.buildPanel(Input.java:53) at Input.<init>(Input.java:27) at InputDemo.main(InputDemo.java:5)
I'm displaying a table with several read-only pieces of data, and a checkbox field that toggles the row color. The background color for the checkbox is not toggling correctly. I put together a SSCCE:
If I comment out the Nimbus look and feel, it works as expected. I googled this problem and found one possible solution on Stack Overflow. Their suggestion is:It's a bug in the synth-installed renderer, quick hack is to force the rendering checkbox opacity to true: ((JComponent) table. get Default Renderer(Boolean.class)).setOpaque(true);
I tried using this line and setting the opacity to true, but it renders the background white. I'm using Java 1.7.0_25.
I'm working on loading SVG images on Jpanel using "Apache(tm) Batik SVG Toolkit" , but after the image get loaded it has "white background" and "not transparent" one like PNG images.
I checked "fill" of rect attribute on the xml file of the svg image and it was correctly set to none, I also Tested the image on html document and it was trasparent, but in my java app it has white background.
The Question is there any way to load SVG images with transparent background on Jpanel ?
i have a program in UNIX directory /home/me/java/src
package bin; public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } }
I have manage to compile it successfully(class file will be in bin directory) using command below: javac -d /home/t_bmf/java/bin HelloWorld.java
My problem now is how would I execute the class in bin directory in UNIX? I already tried different ways on how to execute it as suggested in my internet research The one I tried is this:
java $CLASSPATH:.:bin/HelloWorld but I got this error message: Exception in thread "main" java.lang.NoClassDefFoundError: :/:bin/HelloWorld Caused by: java.lang.ClassNotFoundException: :.:bin.HelloWorld
I have tried to get my dinky little program I wrote to be stored as an executable through Eclipse to no avail. It seems I have tried everything else as well, to no avail. I do not want it to go through command prompt, but rather have it be its own entity. As you can probably tell my knowledge of Java and coding is limited, but always willing to expand.
And in the server log there is a long list of comments, the first which looks to be of significance to this issue is:
WARNING [http-apr-8080-exec-57] org.apache.catalina.deploy.NamingResourcesImpl.cle anUp Failed to retrieve JNDI naming context for container [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/transBoard]] so no cleanup was performed for that container javax.naming.NameNotFoundException: Name [comp/env] is not bound in this Context. Unable to find [comp].
There are others further down the list which might also be significant such as:
SEVERE [http-apr-8080-exec-59] org.apache.catalina.core.ContainerBase.addChildInt ernal ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/transBoard]]
The corresponding line of code for the first warning that I listed is for the DataSource object and I wrote it as follows:
I had some questions about a theoretical java program. Say you had a java program on a linux server/pc that referenced a folder on that server. And say you had a Client PC (Windows) that had a share folder to that java program.
If that windows client PC tried to run the program would it run (with a GUI if it had one) and would the main directory of the java program still be on the linux server or would it be on the windows computer since that is the computer that is running the program?
Basically I have a program I am trying to find the best way to run it remotely on a windows computer but it references files on the linux server it is located at and needs to put files it creates there as well. I am just trying to make sure I understand my theory here on how the program will run if it IS run remotely.
I made a software using Netbeans and javaswing. Accidently i deleted my main file which contains my main class and main method. Just to test, i tried to compile and run and it worked but the style of my buttons and windows has changed. So, what happened? How can i change the style of my programs?
//File Accidently deleted package time; public class Time { public static void main( String[] args ) { Window wdow = new Window(); wdow.setVisible( true ); } }