ich hab eine Progressbar in mein programm eingefügt um den status einer berechnung anzeigen zu lassen
eigentlich klappt auch alles, nur leider nicht immer
also
ich habe zwei verschachtelte schleifen nach dem prinzip
so manchmal wird das programm ohne fehler ausgeführt (wenn in Anzahl ein großer Wert steht)
wenn in Anzahl ein kleiner wert steht kommt folgendes
also in value steht meiner meinung nach immer ein gültiger wert aber trotzdem liegts irgendwie and diesem Befehl
denn auch wenn ich schreibe
kommt der Fehler
im Beispiel aus der Faq ist das hochzählen der variable mit einer try - catch funktion verknüpft
aber das lässt netbeans bei mir nicht zu weil ich schon eine try funktion verwende um eine Datei zu öffnen
so ich hoffe mal ihr könnt mir helfen
thx
eigentlich klappt auch alles, nur leider nicht immer
also
ich habe zwei verschachtelte schleifen nach dem prinzip
Code:
{
int PosX,PosY;
// Den Fortschrittsbalken speichern wir als Instanzvariable. Das
// hat den Vorteil, dass jede der 1000 Methoden des Algos Zugriff
// auf die Progressbar hat.
status = progress;
int begin = 1;
int end = Anzahl+1;
int current = begin;
// Minimum und Maximum des Fortschrittbalkens setzen
setMinMax( begin, end );
try {
FileOutputStream fs = new FileOutputStream(Filename);
ObjectOutputStream os = new ObjectOutputStream(fs);
for (PosY=0;PosY<Anzahl,PosY++)
{
setValue( current++ ); // setzt die Position der Progress bar
for (PosX=0;PosX<Anzahl,PosX++)
{
[...]
}
}
os.close();
} catch (IOException e)
{
System.err.println(e.toString());
}
}
private void setValue( final int value ){
SwingUtilities.invokeLater( new Runnable(){
public void run() {
status.setValue( value );
}
});
}
so manchmal wird das programm ohne fehler ausgeführt (wenn in Anzahl ein großer Wert steht)
wenn in Anzahl ein kleiner wert steht kommt folgendes
Code:
java.lang.NullPointerException
at SimpleGraphics.Berechnung$2.run(Berechnung.java:186)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
also in value steht meiner meinung nach immer ein gültiger wert aber trotzdem liegts irgendwie and diesem Befehl
Code:
setValue( current++ );
Code:
setValue(1);
im Beispiel aus der Faq ist das hochzählen der variable mit einer try - catch funktion verknüpft
Code:
try {
Thread.sleep( 100 ); // Kurz warten
} catch (InterruptedException e) {}
setValue( current++ ); // Hey! Es ist was passiert!
}
aber das lässt netbeans bei mir nicht zu weil ich schon eine try funktion verwende um eine Datei zu öffnen
so ich hoffe mal ihr könnt mir helfen
thx