Please help me kill this java thread..... code example
I am using a JVM for a mobile device based on java 1.4, ~old I know, but it=
is what I must use.
I am creating a simple swing application with a gui and a barcode laser sca=
nner api. I place the swing gui thread in the AWT-EventQueue, and then I pl=
ace barcode scanner code in a worker thread to feed the gui scanned item co=
des. Problem is, that when I click exit on the gui, ONLY the gui shuts down=
.. I can't seem to kill the worker thread. Have a look:
public class Main extends javax.swing.JFrame implements ActionListener, Sca=
nnerListener, ItemListener, KeyListener {
Scanner scanner;
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Main().setVisible(true);
}
});
}
public Main() {
//display GUI - a simple field to display the item number when the
// barcode scanner trigger is pressed, and a exit button to close =
the app
initComponents();
// launch the scanner code to feed the gui scanned items
worker = new Runnable()
{
public void run()
{
try
{
//a while loop to scan and wait
launchScanner();
}
catch (Exception e) { =
}
};
scannerThread = new Thread(worker);
scannerThread.start();
}
private void shutdown(java.awt.event.ActionEvent evt) { =
//this will shutdown the gui when the exit button is pressed. BUT=
how do I kill the scanner thread?
System.exit(0);
}