Hallöchen!
Ersteinmal, ja ich habe nach ähnlichen Threads gesucht, doch was ich fand, hat mir nicht wirklich weiter geholfen, deshlab frage ich expliziet für mein Problem nach
Nun, ich habe ein Programm geschrieben, dass eine auswählbare Datei mit einer festen Vorlage vergleicht.
Das Ergebnis des Vergleichs wird bisher in einer JTextArea ausgegeben.
Nun muss anstatt der JTextArea eine Tabelle her, die die Parameter mit Werten aus den beiden Dateien nebeneinander in einer Tabelle auflistet und in einer dritten Spalte sagt "TRUE" oder "Parmeter nicht in Vorlage" oder "Wert falsch".
So, bis hierhin nicht so schwer, das Programm lief, wenn ich nun Start drücke, läuft das programm durch, gibt mir die richtige Ausgabe noch immer auf der TextArea und ein Extrafenster öffnet sich, in dem eine Tabelle erscheint.
Jetzt komm ich nicht weiter.
Beim lesen das Java "Handbuchs" (dieser Schinken soll nen Handbuch sein...) war halt dargestellt, dass man die Reiehen der Tabelel mit einem Zweidimensionalen Array füllt.
So, die Werte die da rein müssen, befinden sich in seperaten Klassen in vier ArrayLists
(Eine für die Parameter der zu prüfenden Datei, eine für deren Werte und das Gleiche für die Vorlage).
Das heißt also, dass die Reihen mit dem Index "i" aus der ArrayList befüllt werden müssten... zudem noch je nach Situation die dritte Spalte, mit den jeweiligen Ausgaben.
Zum verdeutlichen mal der Code der Tabelle:
So, bis hierhin ja noch einfach.... dann das Befüllen der Tabelle:
So, zur Veranschaulichung habe ich mal die Namen der ArrayLists schon eingetragen.
Einlesen ist dabei die Klasse, welche die zu prüfende Datei einliest (mit ner Schleife, logisch). Vorgabe ist die Klasse, welche dann die zutreffende Vorgabedatei nach Auswahl genau so einliest wie die erste.
para, para2, werte, werte2 sind die Namen der ArrayLists.
In para werden Parameter gespeichert (bis zu einem "=" dann kommt nen Trim)
In werte dann der Wert hinter dem "=".
Das Gleiche für die andere Datei.
So, nun ist es so, dass die Tabelle mit zwar wunderbar den Wert bei Index 0 der ArrayList para anzeigt, und das Gleiche bei Index 1, aber die Dateien können unterschiedlich groß sein, so dass ich nciht hartcodiert alle Zeilen extra definieren könnte.
Nur ne f - Schleife lässt er auch nicht zu.
Hier brauch ich jetzt Hilfe... Wie bekomme ich es hin, dass er pro Zeile der Tabelle, mir den Wert der ArrayList um einen Index erhöht ausgibt?
Und dazu die ja durch eine if-Bedingung bestimmte Ausgabe ob es TRUE oder FALSE ist (Also die Parameter bzw. die Werte passen)?
Ich hoffe, dass mein Problem verständlich ist...
Wie gesagt, wie ich die Tabelle aufbaue, hab ich so ausm Java Handbuch übernommen, von daher kenne ich mehr Befehle für so ne Tabelle nicht... und on OO bin ich noch net sooo bewandert, bin gerne lernbereit aber müsst es erklärt bekommen irgendwie
Schonmal vielen Dank dafür, dies überhaupt gelesen zu haben
Gruß
Myar
Ersteinmal, ja ich habe nach ähnlichen Threads gesucht, doch was ich fand, hat mir nicht wirklich weiter geholfen, deshlab frage ich expliziet für mein Problem nach

Nun, ich habe ein Programm geschrieben, dass eine auswählbare Datei mit einer festen Vorlage vergleicht.
Das Ergebnis des Vergleichs wird bisher in einer JTextArea ausgegeben.
Nun muss anstatt der JTextArea eine Tabelle her, die die Parameter mit Werten aus den beiden Dateien nebeneinander in einer Tabelle auflistet und in einer dritten Spalte sagt "TRUE" oder "Parmeter nicht in Vorlage" oder "Wert falsch".
So, bis hierhin nicht so schwer, das Programm lief, wenn ich nun Start drücke, läuft das programm durch, gibt mir die richtige Ausgabe noch immer auf der TextArea und ein Extrafenster öffnet sich, in dem eine Tabelle erscheint.
Jetzt komm ich nicht weiter.
Beim lesen das Java "Handbuchs" (dieser Schinken soll nen Handbuch sein...) war halt dargestellt, dass man die Reiehen der Tabelel mit einem Zweidimensionalen Array füllt.
So, die Werte die da rein müssen, befinden sich in seperaten Klassen in vier ArrayLists
(Eine für die Parameter der zu prüfenden Datei, eine für deren Werte und das Gleiche für die Vorlage).
Das heißt also, dass die Reihen mit dem Index "i" aus der ArrayList befüllt werden müssten... zudem noch je nach Situation die dritte Spalte, mit den jeweiligen Ausgaben.
Zum verdeutlichen mal der Code der Tabelle:
Code:
package Programmieraufgabe;
import javax.swing.*;
public class Table
implements TableData {
public void table() {
// Hier wird das zweite Fenster für die Tabelle angelegt
JFrame fenster2 = new JFrame();
fenster2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenster2.setLocation(300, 150);
fenster2.setSize(650, 730);
fenster2.setVisible(true);
// nen Label für die Überschrift der Tabelle
JLabel lbltitel = new JLabel();
lbltitel.setText("Ergebnis des Vergleichs:");
lbltitel.setBounds(7, 7, 200, 30);
fenster2.add(lbltitel);
// Die Tabelle und das Scrollfenster dazu
JTable table = new JTable(DATA, COLHEADS);
JScrollPane scrollPane = new JScrollPane(table);
scrollPane.setBounds(7, 40, 625, 657);
fenster2.add(scrollPane);
}
}
So, bis hierhin ja noch einfach.... dann das Befüllen der Tabelle:
Code:
package Programmieraufgabe;
public interface TableData {
public static final String[][] DATA = {
{ Einlesen.para.get(0) + " = " + Einlesen.werte.get(0),
Vorgabe.para2.get(0) + " = " + Vorgabe.werte2.get(0),
"TRUE" },
{ Einlesen.para.get(1) + " = " + Einlesen.werte.get(1),
Vorgabe.para2.get(1) + " = " + Vorgabe.werte2.get(1),
"TRUE"}
};
public static final String[] COLHEADS = { "Eingelesene Datei", "Vorgabe",
"Meldung" };
}
So, zur Veranschaulichung habe ich mal die Namen der ArrayLists schon eingetragen.
Einlesen ist dabei die Klasse, welche die zu prüfende Datei einliest (mit ner Schleife, logisch). Vorgabe ist die Klasse, welche dann die zutreffende Vorgabedatei nach Auswahl genau so einliest wie die erste.
para, para2, werte, werte2 sind die Namen der ArrayLists.
In para werden Parameter gespeichert (bis zu einem "=" dann kommt nen Trim)
In werte dann der Wert hinter dem "=".
Das Gleiche für die andere Datei.
So, nun ist es so, dass die Tabelle mit zwar wunderbar den Wert bei Index 0 der ArrayList para anzeigt, und das Gleiche bei Index 1, aber die Dateien können unterschiedlich groß sein, so dass ich nciht hartcodiert alle Zeilen extra definieren könnte.
Nur ne f - Schleife lässt er auch nicht zu.
Hier brauch ich jetzt Hilfe... Wie bekomme ich es hin, dass er pro Zeile der Tabelle, mir den Wert der ArrayList um einen Index erhöht ausgibt?
Und dazu die ja durch eine if-Bedingung bestimmte Ausgabe ob es TRUE oder FALSE ist (Also die Parameter bzw. die Werte passen)?
Ich hoffe, dass mein Problem verständlich ist...
Wie gesagt, wie ich die Tabelle aufbaue, hab ich so ausm Java Handbuch übernommen, von daher kenne ich mehr Befehle für so ne Tabelle nicht... und on OO bin ich noch net sooo bewandert, bin gerne lernbereit aber müsst es erklärt bekommen irgendwie

Schonmal vielen Dank dafür, dies überhaupt gelesen zu haben

Gruß
Myar