dj_membrane
Grünschnabel
Hallo Community,
ich bin noch Java Anfänger und Versuche im Moment
ein einfaches Programm für meine Bachelorarbeit zu erstellen.
In diesem Programm werden Daten von einem File (.CSV) eingelesen.
Diese Daten sollen Position für Position auf dem Bildschirm ausgegeben werden,
und der nutzer muss diese Daten bestätigen.
Das Einlesen der Daten funktioniert problemlos und ist im folgenden Code nicht mehr enthalen. Statt der eingelesenen Daten werden diese mit 4 verschiedenen Daten repräsentiert.
(labels [0][2] = "Lager 1";
labels [1][2] = "Lager 2";
labels [0][3] = "Artikel 1";
labels [1][3] = "Artikel 2"
Was noch nicht funktioniert: Die Überprüfung der Daten über mein GUI.
Hier befinden sich eine do - while schleife in der die Daten überprüft werden.
Leider wird das Textfeld für Usereingaben (z.B. txtScannLager) ständig ausgelesen und überprüft was sehr viele Fehlermeldungen zur Folge hat.
Meine Idee wäre gewesen, diese Schleife erst zu Starten wenn der User "Enter" drückt.
Ich habe bereits auch schon mit "Action Listener" probiert, leider konnte ich hier nichts erreichen. Ich Arbeite auch erst Seite ca. 2 Wochen mit Java.
Es wäre super, wenn Ihr mir weiterhelfen könntet.
Danke schon mal im voraus -
Flo.
Hier noch mein bisheriger Code:
ich bin noch Java Anfänger und Versuche im Moment
ein einfaches Programm für meine Bachelorarbeit zu erstellen.
In diesem Programm werden Daten von einem File (.CSV) eingelesen.
Diese Daten sollen Position für Position auf dem Bildschirm ausgegeben werden,
und der nutzer muss diese Daten bestätigen.
Das Einlesen der Daten funktioniert problemlos und ist im folgenden Code nicht mehr enthalen. Statt der eingelesenen Daten werden diese mit 4 verschiedenen Daten repräsentiert.
(labels [0][2] = "Lager 1";
labels [1][2] = "Lager 2";
labels [0][3] = "Artikel 1";
labels [1][3] = "Artikel 2"

Was noch nicht funktioniert: Die Überprüfung der Daten über mein GUI.
Hier befinden sich eine do - while schleife in der die Daten überprüft werden.
Leider wird das Textfeld für Usereingaben (z.B. txtScannLager) ständig ausgelesen und überprüft was sehr viele Fehlermeldungen zur Folge hat.
Meine Idee wäre gewesen, diese Schleife erst zu Starten wenn der User "Enter" drückt.
Ich habe bereits auch schon mit "Action Listener" probiert, leider konnte ich hier nichts erreichen. Ich Arbeite auch erst Seite ca. 2 Wochen mit Java.
Es wäre super, wenn Ihr mir weiterhelfen könntet.
Danke schon mal im voraus -
Flo.
Hier noch mein bisheriger Code:
Code:
// User Eingaben prüfen
import java.io.IOException;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import Prog1Tools.IOTools;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Oberfläche002 extends JFrame {
static JLabel lbText = new JLabel("MOP",0);
static JButton btOK = new JButton("OK");
static JButton btExit = new JButton("Exit");
static JLabel lblLager = new JLabel ("Lagerort");
static JTextField txtLager = new JTextField("");
static JTextField txtScannLager = new JTextField ("");
static JLabel lblArtikel = new JLabel ("Artikel");
static JTextField txtArtikel = new JTextField ("");
static JTextField txtScannArtikel = new JTextField ("");
static JTextField txtFeldErg = new JTextField ("");
JPanel Panel = new JPanel();
public boolean Status;
public Oberfläche002() {
super("Titel");
Panel.setLayout(new GridLayout (10,1));
Panel.add(lbText );
Panel.add(btOK);
Panel.add(btExit);
Panel.add(lblLager);
Panel.add(txtLager );
Panel.add(txtScannLager);
Panel.add(lblArtikel);
Panel.add(txtArtikel);
Panel.add(txtScannArtikel);
Panel.add (txtFeldErg);
// Panel.add(Panel );
getContentPane().add("Center",Panel);
setSize(10,20);
pack();
setVisible(true);
}
public static void unterprogramm (String Lager, String Artikel){
txtLager.setText("");
txtFeldErg.setText("");
txtScannLager.setText("");
txtScannArtikel.setText("");
txtLager.setText(Lager);
// Lager
String ScannLagerplatz;
boolean checkL = true;
// Diese Anweisung soll erst
// nach Beendigen der User Eingabe ausgeführt werden
// (wenn dieser "Enter" gedrückt hat)
// Grund: Die weiter spätere do - while schleife wird
// sonst permanent durchlaufen, und es werden laufend
// Fehlermeldung ("Fehler - Bitte nochmal eingeben") ausgebeben.
if (true){
// mit dieser Anweisung soll der vom System vorgegebene Lagerplatz
// überprüft werden.
// der User muss dazu als bestätigung genau diesen Lagerplatz
// eingeben, ansonsten erfolgt eine Fehlermeldung.
do {
// ist nach dem ersten Schleifendurchgang die Eingabe
// fehlerhaft gewesen, soll hier eine Fehlermeldung
// ausgegeben werden
if (checkL != true) {
txtFeldErg.setText("Fehler - Bitte nochmal Eingeben");
System.out.println("Fehler");
}
ScannLagerplatz = txtScannLager.getText().replaceAll(" ","");
checkL = ((Lager.replaceAll(" ","")).compareToIgnoreCase(ScannLagerplatz) == 0);
System.out.println("checkL " + checkL);
} while (checkL == false);
}
txtFeldErg.setText("");
// Artikel
txtArtikel.setText("");
txtArtikel.setText(Artikel);
String ScannArtikel;
boolean checkA = true;
do {
if (checkA != true) {
txtFeldErg.setText("Fehler - Bitte nochmal Eingeben");
System.out.println("Fehler");
}
ScannArtikel = txtScannArtikel.getText().replaceAll(" ","");
checkA = ((Artikel.replaceAll(" ","")).compareToIgnoreCase(ScannArtikel) == 0);
} while (checkA == false);
txtFeldErg.setText("");
txtLager.setText("");
txtScannLager.setText("");
txtScannArtikel.setText("");
}
public static void main ( String[] argv) throws IOException {
new Oberfläche002();
btOK.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
// Variablen var = new Variablen();
// lbText.setText("Test" + var.i);
}
});
btExit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});
// Diese labels sollen 4 Daten der eingelesen Datei repräsentieren
String [][] labels = new String [9][9];
labels [0][2] = "Lager 1";
labels [1][2] = "Lager 2";
labels [0][3] = "Artikel 1";
labels [1][3] = "Artikel 2";
int i=0;
for (i=0; i<2; i++){
// aktuelles Lager und aktueller Artikel an Unterprogramm übergeben
unterprogramm(labels[i][2], labels[i][3]);
}
}
}
Zuletzt bearbeitet: