Variable ändern bei jedem Schleifendurchlauf

MarcoRolex

Mitglied
int zeile = 4;
int spalte = 0;

for(int a = 1; a <= 10; a++)

{

Label time = new Label(spalte, zeile, getTime);

wsheet.addCell(time);

wworkbook.write();

zeile = zeile + 1;

Thread.sleep(10000);

}
Meine Frage jetzt:

Gibt es einen Weg, den Labelname "time" bei jedem Schleifendurchlauf zu ändern?

Bsp.:

  1. Druchlauf --> time
  1. Durchlauf --> time2
usw...
 

KaffeeFan

Bekanntes Mitglied
1. Packe deinen Code zukünftig bitte in Code-Tags (Einfügen-Code-Java)
Java:
2. Wofür willst du den Variablennamen ändern?

Gruß
Luk
 

MarcoRolex

Mitglied
Achso okay.

Also ich muss für jeden Excel Zelleneintrag ein Label definieren. Und jedes Label braucht einen eindeutigen Namen. Jetzt möchte ich das halt mit einer for-Schleife beschleunigen. Da aber der Variablename beim nächsten Durchlauf gleich bleibt, funktioniert das ganze nicht.
 

KaffeeFan

Bekanntes Mitglied
Was hast du denn später mit den Labels vor?
Wie wäre es wenn du in jedem Schleifendurchlauf dein Label in eine ArrayList packst?
Dann könntest du an anderer Stelle auf jedes deiner Labels zugreifen...

Gruß
Luk
 

MarcoRolex

Mitglied
Ich möchte im Excel eine Spalte mit der aktuellen Uhrzeit und eine zweite mit der gemessenen Temperatur. Diese Uhrzeiten stehen untereinander und für jede Zelle braucht es eben ein eigenes Label.
 

MarcoRolex

Mitglied
Ja von der Logik her ist es schon richtig was du sagst. Aber praktisch funktioniert es irgendwie nicht.
 

Anhänge

  • Code.PNG
    Code.PNG
    14,9 KB · Aufrufe: 51
  • Code2.PNG
    Code2.PNG
    20,1 KB · Aufrufe: 39

KaffeeFan

Bekanntes Mitglied
Java:
for(int i = 0; i<10; i++)
          {
            Label label = new Label(spalte, zeile, getTime);
            wsheet.addCell(label);
            wworkbook.write();
            zeile++;
          }

Dann mach es doch einfach so.
 

X5-599

Top Contributor
Es liegt nicht daran, dass kein neues Label erzeugt weden kann. Du hast lediglich vergessen die Koordinaten des Labels in der Schleife zu verändern. Du erzeugst zehn Labels mit der selben: spalte, zeile. Diese Variablen musst du anpassen.
 

MarcoRolex

Mitglied
Die Spalte bleibt absichtlich immer gleich.
Die Zeile muss verändert werden hast du recht.
Aber wenn du das Bild oben anschaust habe ich dies schon berücksichtigt.
 

Henne079

Aktives Mitglied
Du kannst ja mal testen ob es einen Unterschied macht, wenn du deinen Code zu diesem änderst.
Java:
wsheet.addCell(new Label(spalte, zeile, getTime));
 

JStein52

Top Contributor
Beim nächsten Schleifendurchlauf kann kein neues Label erstellt werden
Also es wird sicher bei jedem Schleifendurchlauf ein neues Label-Objekt erstellt. Dass dann nur in einer Zeile was steht hat bestimmt andere Gründe und hängt sicher mit dem ganzen wsheet/workbook-Handling zusammen. Da kenne ich mich aber nicht aus. Ist der eine Wert der drin steht eigentlich der erste aus der Schleife oder der letzte ?
 

Harry Kane

Top Contributor
Ich habe gerade in der API doc von POI gestöbert. Weder die Klasse org.apache.poi.hssf.usermodel.HSSFSheet noch die Klasse org.apache.poi.xssf.usermodel.XSSFSheet hat eine Methode addCell, und eine Klasse Label habe ich im Paket auch nicht gesehen.
Mir ist schleierhaft, mit welcher Art von Objekten du da eigentlich hantierst. Zeig doch mal einen komplettes, kompilierbares Beispiel inkl. Importe.
 

MarcoRolex

Mitglied
Java:
package altersheim;

import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;

import javax.swing.GroupLayout.Alignment;
import javax.swing.border.Border;

import jxl.Cell;
import jxl.LabelCell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.biff.XFRecord;
import jxl.format.BorderLineStyle;
import jxl.format.Colour;
import jxl.format.UnderlineStyle;
import jxl.read.biff.BiffException;

import jxl.write.Label;
import jxl.write.Number;
import jxl.write.WritableCell;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;


public class Altersheim
{
   
   public static void main(String[] args)
      throws BiffException, IOException, WriteException, InterruptedException
   {
      
      WritableFont titelFont = new WritableFont(WritableFont.ARIAL, 17, WritableFont.BOLD,false, UnderlineStyle.NO_UNDERLINE, Colour.AQUA);
      WritableCellFormat titelFormat = new WritableCellFormat();
      titelFormat.setFont(titelFont);
     
      WritableFont untertitelFont = new WritableFont(WritableFont.ARIAL, 12, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.BLUE_GREY);
      WritableCellFormat untertitelFormat = new WritableCellFormat();
      untertitelFormat.setFont(untertitelFont);
     
      
      SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
      String getTime = new String(format.format(Calendar.getInstance().getTime()));
     
      WritableWorkbook wworkbook;
      wworkbook = Workbook.createWorkbook(new File("C:/Users/rs/Desktop/Altersheim.xls"));
      WritableSheet wsheet = wworkbook.createSheet("Messungen Altersheim", 0);
     
     
      Label Titel = new Label(0, 0, "Messungen Altersheim", titelFormat);
      Label timeTitle = new Label(0, 3, "Zeit", untertitelFormat);
      Label temp = new Label(1, 3, "Temperatur", untertitelFormat);
     
      wsheet.addCell(Titel);
      wsheet.addCell(timeTitle);
      wsheet.addCell(temp);
     
      int spalte = 0;
      int zeile = 5;
     
      for(int a = 0; a < 10; a++)
      {
          wsheet.addCell(new Label(spalte, zeile, getTime));
          wworkbook.write();
          zeile++;
          Thread.sleep(0);
      }
     
      wworkbook.write();
      wworkbook.close();
     
    }

}

Man muss zuerst eine Externe Jar einbinden. http://www.quicklyjava.com/jexcel-jar-download/ hier kann man sie downloaden.

@Henne079 Hat zwar keine Fehler gegeben, aber ist wieder das selbe passiert. Es wurde nur ein Eintrag gemacht.

@JStein52 Ich versteh deine Frage nicht ganz.
 

JStein52

Top Contributor
Meine Frage ging dahin ob du dir in der Schleife immer die gleiche Zelle überschreibst. D.h. steht am Ende der erste oder der letzte Eintrag dort ? Aber dein getTime ist ja immer konstant also die gleiche Zeit, du könntest es also sowieso nicht erkennen.
 

MarcoRolex

Mitglied
Code:
 SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
      String getTime = new String(format.format(Calendar.getInstance().getTime()));

Mein getTime passt sich der aktuellen Uhrzeit an, das ist schon richtig so.
Und zu deiner Frage. Die Zeile wird immer um eins erhöht, also wird bei jedem Schleifendurchlauf das Label um eins nach unten geschrieben.

Das workbook.close() ist gar nicht in der Schleife.
 

MarcoRolex

Mitglied
Status-Update:

@Henne079 Danke für dein Stück Code es hat so zu sagen funktioniert. Ich weiss jetzt was das Problem ist. Die Zeile wird aus irgendwelchen Gründen nicht erhöht. Also die Variable "zeile" wird zwar erhöht, aber der Parameter in der Definition des Labels wird wie nicht aktualisiert.
 

JStein52

Top Contributor
Zuletzt bearbeitet:

JStein52

Top Contributor
Schreibe es versuchsweise doch mal so:

Code:
//      for(int a = 0; a < 10; a++)
//     {
          wsheet.addCell(new Label(0, 5, getTime));
          wsheet.addCell(new Label(0, 6, getTime));
          wworkbook.write();
          zeile++;
          Thread.sleep(0);
//      }
 

MarcoRolex

Mitglied
Ja so würde es funktionieren. Daran habe ich vorher gemerkt, dass es an der Zeile liegen muss.
Es steht nur der erste Eintrag in der Zelle. Aber so wie du es gerade geschrieben hast, stehen alle richtig. Jedoch nur wenn man alle Labels einzeln eintippt.
 

JStein52

Top Contributor
So geht es :

Code:
      for(int a = 0; a < 10; a++)
      {
          String getTime = new String(format.format(Calendar.getInstance().getTime()));
          wsheet.addCell(new Label(spalte, zeile, getTime));
          zeile++;
          Thread.sleep(10000);
      }
    
      wworkbook.write();
      wworkbook.close();
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Variable durch mehrere Methoden ändern und nutzen Allgemeine Java-Themen 17
S Datentypen Eine Variable von String zu Int ändern Allgemeine Java-Themen 5
J in einer static Variable Wert ändern Allgemeine Java-Themen 6
W Variable Initialisierung mit dem Ergebnis einer Regex Allgemeine Java-Themen 1
A Clean Code: Variable vs. Methode Allgemeine Java-Themen 8
J Wo kommt der Wert der Variable her ? Allgemeine Java-Themen 6
E Variablen Nach Übergabe einer Variable den Constructor aufrufen Allgemeine Java-Themen 16
H lokale Variable bei Optional verwenden Allgemeine Java-Themen 11
A Variable in if initialisieren Allgemeine Java-Themen 23
S Variable als Objekt Name Allgemeine Java-Themen 3
D "Automatisierte", variable verschachtele for-Schleife Allgemeine Java-Themen 9
T statische Variable und nicht-statische Methode Allgemeine Java-Themen 2
P Variable wird in for - loop nicht richtig hochgezählt Allgemeine Java-Themen 11
A Variablen non-static variable cannot be referenced from a static content Allgemeine Java-Themen 4
A Variable, welche Exeption wirft als "Global" deklarieren Allgemeine Java-Themen 13
A Scanner Variable Klassenimtern deklarieren Allgemeine Java-Themen 12
L Variablen Variable nicht aktualisiert Allgemeine Java-Themen 3
denny86 NetBeans Ordnernamen rekursiv auslesen und in Variable verarbeiten Allgemeine Java-Themen 38
P Static Variable -> unterschiedliche Werte? Allgemeine Java-Themen 1
C Abstrakte Klasse, lokale Variable-Problem Allgemeine Java-Themen 1
T AWT AWT-EventQueue-0 Null_Pointer_Exception durch Variable Allgemeine Java-Themen 12
F Wert in Variable schreiben, wenn diese gerade genutzt wird Allgemeine Java-Themen 10
P Prüfen ob es Variable mit Namen gibt der als String übergeben wird Allgemeine Java-Themen 7
S JFrame Variable mitgeben Allgemeine Java-Themen 5
M Variable außerhalb Klasse definierbar? Allgemeine Java-Themen 2
X Bild -> lokale Variable -> DB -> lokale Variable Allgemeine Java-Themen 3
F Aktuelle Variable Allgemeine Java-Themen 2
J String Variable verändert sich plötzlich Allgemeine Java-Themen 8
J private static final String variable Allgemeine Java-Themen 8
A Long variable wird negativ??? Allgemeine Java-Themen 1
reibi Classpath Classpath Variable beim Tomcat Allgemeine Java-Themen 2
M Zeiger auf statische Variable Allgemeine Java-Themen 1
H Klassennamen zum Aufruf eines statischen Feldes aus Variable holen Allgemeine Java-Themen 4
F Variable übergeben?! Allgemeine Java-Themen 2
L Variable auch in der function verfügbar machen? Allgemeine Java-Themen 4
M Collections Typ Variable einer generischen Collection ? Allgemeine Java-Themen 4
P Variablen Variable von void im ActionListener verwenden Allgemeine Java-Themen 3
M Parallele Programmierung: volatile Variable nimmt ungewöhnlichen Wert an Allgemeine Java-Themen 3
iB0T Variable Wert ausrauchen Allgemeine Java-Themen 3
T Variablen Variable wird als nicht genutzt angezeigt Allgemeine Java-Themen 8
Hoppelmann "Variable" in String erkennen Allgemeine Java-Themen 2
B Variable class in java.lang.Object Allgemeine Java-Themen 11
O Variablen Originalname einer übergebenen Variable prüfen Allgemeine Java-Themen 9
X Windows-Environment-Variable per jRegistryKey anpassen Allgemeine Java-Themen 6
P Variable in Array stellen Allgemeine Java-Themen 11
M Arraynamen durch Variable festlegen lassen Allgemeine Java-Themen 5
J Anderem Thread Variable mitgeben Allgemeine Java-Themen 2
nrg Auszulagernder Part, der aber variable Methode/Klasse aufruft Allgemeine Java-Themen 7
I %AppData% Variable für einen Prozess setzen Allgemeine Java-Themen 23
G Variablen Variable extern speichern - wie? Allgemeine Java-Themen 9
M Variablen Wie Variable verfügbar machen? Allgemeine Java-Themen 16
A variable aus einer anderen klasse verändern Allgemeine Java-Themen 5
G Variable Methodenwahl Allgemeine Java-Themen 11
C JFormattedTextField Inhalt einer Variable zuweisen Allgemeine Java-Themen 11
C Variablen Variable einer Klasse in einer anderen Klasse Nutzen Allgemeine Java-Themen 8
B Umgebungsvariable Variable wird nicht übernommen Allgemeine Java-Themen 4
N variable Anzahl von Objektinstanzen zur Laufzeit erstellen Allgemeine Java-Themen 4
C Environment Variable in Pfad -> Datei öffnen Allgemeine Java-Themen 5
Q Variable aus Schleife/Switch benutzen Allgemeine Java-Themen 7
algorismi int-variable Value Change event Allgemeine Java-Themen 3
E Variable dynamisch ausgeben Allgemeine Java-Themen 5
trash super() mit Variable bestücken Allgemeine Java-Themen 3
X Cannot refer to a non-final variable settings inside an inner class defined in a different method Allgemeine Java-Themen 4
A Variable Parameterinhalte an einen Query übergeben? Allgemeine Java-Themen 3
B static Variable / Unterklasse Allgemeine Java-Themen 2
J Was ist schneller? Neue Variable oder neuer Wert speziell int Allgemeine Java-Themen 3
S Innere Klasse: Zugriff auf äußere Variable Allgemeine Java-Themen 5
Semox Fehler - Zuweisung aus BufferedReader an Variable Allgemeine Java-Themen 3
Daniel_L RegEx - variable Vorkommen ersetzen? Allgemeine Java-Themen 5
P Unicode-Sequenz (u1234) in Variable speichern und ausgeben Allgemeine Java-Themen 6
G auf variable in anderer class zugreifen Allgemeine Java-Themen 2
G Variable global nutzen Allgemeine Java-Themen 4
V Variable vom Typ String zum Typen "Message" konve Allgemeine Java-Themen 2
M Try-Catch: wie wird Variable bei Exception initialisiert? Allgemeine Java-Themen 8
G Speicherverbrauch einer Variable Allgemeine Java-Themen 2
C ArrayList mit Variable im Namen Allgemeine Java-Themen 16
T JNI Referenz auf Variable in Java? Allgemeine Java-Themen 2
G Überprüfen, ob Variable ein Array ist? Allgemeine Java-Themen 5
R Member-Variable erzwingen Allgemeine Java-Themen 17
D LinkedList anhand einer long-Variable der Objekte sortieren Allgemeine Java-Themen 5
M Zugriff auf Objekt, Name in Variable Allgemeine Java-Themen 3
G Problem mit einer Variable Allgemeine Java-Themen 3
O Future Variable Allgemeine Java-Themen 4
M variable übergeben NICHT KOPIEREN Allgemeine Java-Themen 12
loadbrain KeyEvent mit Variable verknüpfen Allgemeine Java-Themen 4
M Prüfen ob Variable vorhanden / initalisiert ist Allgemeine Java-Themen 4
G Variable wird ignoriert - warum ? Allgemeine Java-Themen 36
L ctrl-z wird nicht in Variable gespeichert Allgemeine Java-Themen 4
G Variable Anzahl JTextfleder Allgemeine Java-Themen 3
R Wenn Variable = wat ist Allgemeine Java-Themen 7
H Zugriff auf statische Variable synchronisieren Allgemeine Java-Themen 4
H globale Variable wird nicht überall erkannt Allgemeine Java-Themen 3
G Zugriff auf Variable in abgeleiteter Klasse Allgemeine Java-Themen 6
R Eine Variable an eine Methode mit Array übergeben Allgemeine Java-Themen 7
E Variable in einer Methode Allgemeine Java-Themen 13
O Environment Variable Setzen Allgemeine Java-Themen 2
G Referenz auf Variable! Allgemeine Java-Themen 3
C Variable aus einer Methode einlesen in einer verarbeiten und Allgemeine Java-Themen 6
G 1.5er String.format() -> variable Feldlaenge? Allgemeine Java-Themen 5
S wie übergebe ich eine Variable aus einer Methode an main() ? Allgemeine Java-Themen 16

Ähnliche Java Themen

Neue Themen


Oben