carookee - group communication for you
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





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
4.755 User online
0 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 154 von 2212 (7%) |<   <   >   >|

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