Home
/
JavaForum
/
Java allgemein
Infos
|
Features
|
Gold-Edition
|
Kundenservice
java
Übersicht
Forum
-
Beginner
-
Java allgemein
-
JDBC
-
JNI
-
Networking
-
Online-Ressourcen
-
Swing + AWT
-
XML
-
Meckerecke
Mitglieder
LOGIN
User oder E-Mail
Passwort
·
Passwort vergessen
·
Kostenlos anmelden
Information
Demo
Features
Im Vergleich
Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
Kundenservice
Impressum
Datenschutz
AGB
Status
4.816 User online
0 User eingeloggt
Beiträge
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
Antworten
Neuer Beitrag
Gesamtdarstellung
Detaildarstellung
Einzeldarstellung
Threaddarstellung
Beitrag 2059 von 2212 (93%)
Autor
torsten
Datum
25.02.03, 17:10
Betreff
exception in einem thread
Die folgende Application wirft gelegentlich Exceptions. Ich habe aber keine Ahnung warum. Ohne thread funktionierts, aber mit kommt eine ArrayIndexOutOfBoundsException. Falls sich hier irgendein Experte befindet, wäre es nett wenn er/sie mal drüberguckt.
import javax.swing.UIManager;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.util.*;
// This application throws exceptions occasionally
// if it doesn't throw exceptions then restart the application
public class MainFrame extends JFrame implements ActionListener,Runnable{
protected JButton startButton;
protected JList dataList;
protected DefaultListModel model;
public MainFrame() {
super();
getContentPane().setLayout(new FlowLayout());
setSize(new Dimension(400,200));
setTitle("This application throws exceptions occasionally");
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = getSize();
if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; }
if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; }
setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
startButton = new JButton("Start");
startButton.addActionListener(this);
model = new DefaultListModel();
dataList = new JList(model);
JScrollPane scrollPane = new JScrollPane(dataList);
scrollPane.setSize(100,50);
getContentPane().add(startButton);
getContentPane().add(scrollPane);
setVisible(true);
}
public void actionPerformed(ActionEvent ae)
{
if (ae.getSource()==startButton)
{
Thread t1 = new Thread(this);
t1.start();
}
}
public void run()
{
startButton.setEnabled(false);
for (int j=0;j<10;j++)
{
model.removeAllElements();
for (int i=0;i<1000;i++) model.addElement(i+" - "+j);
}
startButton.setEnabled(true);
}
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
public static void main(String[] args) {
try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); }
catch(Exception e) { e.printStackTrace(); }
new MainFrame();
}
}
Diskussionsverlauf:
Re: exception in einem thread
exception in einem thread
Auf diesen Beitrag antworten
Neuen Beitrag verfassen
Impressum
·
Datenschutz
·
AGB
·
Infos
·
Presse
Ein modernes Forum:
teamturn.com