Text aus Textfeld aus Gui ins Model laden

DominikB

Grünschnabel
Hallo zusammen :)

Erstmal Hallo an alle da draussen :)

So nun zu meinem Problem:

Ich habe ein Gui mit verschiedenen Textfeldern und Comboboxen.
Nun will ich die eingegebenen Texte über den den Menüpunkt "Speichern" in eine Textdatei schreiben. Die Textdatei wird auch schön geschrieben und angelegt, nur der Text aus den Texfeldern wird nicht mitgeschrieben.Die aus den Comboboxen aber schon.
Ich hole die Texte vom Gui und schreibe sie in das Model.

Code:
MainFrame gui = new gui();
lizenz = gui.getJTextField1().getText();

Geschrieben wird so:

Code:
dataStream.write("LICENCE-KEY="+lizenz+sCRLF);
Der String "Lizenz" wurde vorher mit null initalisiert

Code:
String lizenz = null;
WIe bekomm ich es nun hin, das er mir den da eingegebenen Text holt und nicht immer ""
in die textdatei schreibt?

Über ne Hilfe würde ich mich sehr freuen

MFG DominikB
 
Zuletzt bearbeitet:
Code:
package CfgTool;


import java.io.File;
import java.io.FileWriter;
import java.util.ArrayList;
import java.awt.Color;
import java.awt.Cursor;

import CfgTool.*;

import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.JTextField;

import com.sun.media.sound.Toolkit;
public class Model {
	private static Model singleton = null;
	private Color ErrorColor = new Color(255, 210, 210);
	
	MainFrame Main = new MainFrame();
	private Cursor cursor;	
	
	public static Model getModel()
	{
		if (singleton == null)
		{
			singleton = new Model();
		}
		return singleton;
	}
	public Color getErrorBkColor() 
	{
		return ErrorColor;
	}
	
	
		
	
	public void holen()
	{	
		String lizenz = Main.getJTextField1().getText();
		String Guiflask = null;
		String Datenbankserver = null;
		String Datenbanktyp = null;
		String Username = null;
		String Password = null;
		String Sprache = null;
		String Datum;
		String Periodenzeiteinlesen = null;
		String Periodenzeitlöschen1 = null;
		String Periodenzeitlöschen2 = null;
		String Periodenzeitlöschen3 = null;
		String Restartzeit = null;
		String Maschinenstillstände =  null;
		String Appendhalts = null;
		String Teillauf = null;
		
		String Messdatenlöschen = null;
		String Teildatenlöschen = null;
		String Stillständelöschen = null;
		String Vorschubschwellenzeitlow = null;
		String Vorschubschwellenwertlow = null;
		String VorschubSchwellenzeithigh = null;
		String VorschubSchwellenwerthigh = null;
		String Beginnstillstand = null;
		String Backuptage = null;
		String Vorschubschwellenzeit = null;
		String Ncaufzeichnen = null;
		String Fehlerobserver = null;
		String Inserbuffersize = null;
		String Logdatei = null;
		String Directoryarchiv = null;
		String Directoryfehler = null;
		String Directoryintern = null;
		String Transfersyscut = null;
		String Transfermssql = null;
		String Mssqltransferbuffer = null;
		String Backupstrategie = null;
		String Backupzeiten = null;
		String Backupverzeichnis = null;
		String Mysqldatenverzeichnis = null;
		ArrayList Stillstände = new ArrayList();
		ArrayList Verzüwachung = new ArrayList();{
		
		
		
		//Texte von Gui holen und Abfrageob Eingabe gemacht wurde
		
		lizenz = Main.getJTextField1().getText();
		
		if ((lizenz == null) || (lizenz.length() == 0))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 1");
			f.getJLabel2().setText("Bitte Text im Feld 1 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		
		Datenbankserver = Main.getJTextField2().getText();
		if ((Datenbankserver == null) || (Datenbankserver.length() == 0))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 2");
			f.getJLabel2().setText("Bitte Text im Feld 2 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Datenbanktyp = Main.getJTextField3().getText();
		if ((Datenbanktyp == null) || (Datenbanktyp.length() == 0))
			{	
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 3");
			f.getJLabel2().setText("Bitte Text im Feld 3 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Username = Main.getJTextField4().getText();
		if ((Username == null) || (Username.length() == 0))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 4");
			f.getJLabel2().setText("Bitte Text im Feld 4 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Password = Main.getJTextField5().getText();
		if ((Password == null) || (Password.length() == 0))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 5");
			f.getJLabel2().setText("Bitte Text im Feld 5 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Sprache = Main.getJTextField6().getText();
		if ((Sprache == null) || (Sprache.length() == 0))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 6");
			f.getJLabel2().setText("Bitte Text im Feld 6 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Datum = (String) Main.getJComboBox1().getSelectedItem();
		if ((Datum == null) || (Datum.length() == 0))
			{
			JComboBox jCB = Main.getJComboBox1();
			jCB.setBackground(Model.getModel().getErrorBkColor());
			
			
			
			}
		Periodenzeiteinlesen = Main.getJTextField7().getText();
		if ((Periodenzeiteinlesen == null) || (Periodenzeiteinlesen.length() == 0))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 7");
			f.getJLabel2().setText("Bitte Text im Feld 7 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Periodenzeitlöschen1 = Main.getJTextField8().getText();
		if ((Periodenzeitlöschen1 == null))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 8");
			f.getJLabel2().setText("Bitte Text im Feld 8 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Periodenzeitlöschen2 = (Main.getJTextField9().getText());
		if ((Periodenzeitlöschen2 == null))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 9");
			f.getJLabel2().setText("Bitte Text im Feld 9 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Periodenzeitlöschen3 = Main.getJTextField10().getText();
		if ((Periodenzeitlöschen3 == null))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 10");
			f.getJLabel2().setText("Bitte Text im Feld 10 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Restartzeit = Main.getJTextField11().getText();
		if ((Restartzeit == null))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 11");
			f.getJLabel2().setText("Bitte Text im Feld 11 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Maschinenstillstände = Main.getJTextField12().getText();
		if ((Maschinenstillstände == null))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 12");
			f.getJLabel2().setText("Bitte Text im Feld 12 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Appendhalts = Main.getJTextField13().getText();
		if ((Appendhalts == null))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 13");
			f.getJLabel2().setText("Bitte Text im Feld 13 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Teillauf = (String) Main.getJComboBox2().getSelectedItem();
		if ((Teillauf == null) || (Teillauf.length() == 0))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 14");
			f.getJLabel2().setText("Bitte Text im Feld 14 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Messdatenlöschen =Main.getJTextField15().getText();
		if ((Messdatenlöschen == null))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 15");
			f.getJLabel2().setText("Bitte Text im Feld 15 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Teildatenlöschen = Main.getJTextField16().getText();
		if ((Teildatenlöschen == null))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 16");
			f.getJLabel2().setText("Bitte Text im Feld 16 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Stillständelöschen = Main.getJTextField17().getText();
		if ((Stillständelöschen == null))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 17");
			f.getJLabel2().setText("Bitte Text im Feld 17 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Vorschubschwellenzeitlow = Main.getJTextField18().getText();
		if ((Vorschubschwellenzeitlow == null))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 18");
			f.getJLabel2().setText("Bitte Text im Feld 18 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Vorschubschwellenwertlow = Main.getJTextField19().getText();
		if ((Vorschubschwellenwertlow == null))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 19");
			f.getJLabel2().setText("Bitte Text im Feld 19 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		VorschubSchwellenzeithigh = Main.getJTextField20().getText();
		if ((VorschubSchwellenzeithigh == null))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 20");
			f.getJLabel2().setText("Bitte Text im Feld 20 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		VorschubSchwellenwerthigh = Main.getJTextField21().getText();
		if ((VorschubSchwellenwerthigh == null))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 21");
			f.getJLabel2().setText("Bitte Text im Feld 21 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Beginnstillstand = (String) Main.getJComboBox6().getSelectedItem();
		if ((Beginnstillstand == null) || (Beginnstillstand.length() == 0))
			{
			
			return;
			}
		Vorschubschwellenzeit = Main.getJTextField22().getText();
		if ((Vorschubschwellenzeit == null))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 22");
			f.getJLabel2().setText("Bitte Text im Feld 22 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Ncaufzeichnen = (String) Main.getJComboBox3().getSelectedItem();
		if ((Ncaufzeichnen == null) || (Ncaufzeichnen.length() == 0))
			{
			JComboBox jCB = Main.getJComboBox3();
			jCB.setBackground(Model.getModel().getErrorBkColor());
			
			}
		Fehlerobserver = Main.getJTextField23().getText();
		if ((Fehlerobserver == null))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 23");
			f.getJLabel2().setText("Bitte Text im Feld 23 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Inserbuffersize = Main.getJTextField24().getText();
		if ((Inserbuffersize == null))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 24");
			f.getJLabel2().setText("Bitte Text im Feld 24 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Logdatei = Main.getJTextField25().getText();
		if ((Logdatei == null) || (Logdatei.length() == 0))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 25");
			f.getJLabel2().setText("Bitte Text im Feld 25 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Directoryarchiv = Main.getJTextField26().getText();
		if ((Directoryarchiv == null) || (Directoryarchiv.length() == 0))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 26");
			f.getJLabel2().setText("Bitte Text im Feld 26 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Directoryfehler = Main.getJTextField27().getText();
		if ((Directoryfehler == null) || (Directoryfehler.length() == 0))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 27");
			f.getJLabel2().setText("Bitte Text im Feld 27 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Directoryintern = Main.getJTextField28().getText();
		if ((Directoryintern == null) || (Directoryintern.length() == 0))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 28");
			f.getJLabel2().setText("Bitte Text im Feld 28 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Transfersyscut = Main.getJTextField29().getText();
		if ((Transfersyscut == null) || (Transfersyscut.length() == 0))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 29");
			f.getJLabel2().setText("Bitte Text im Feld 29 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Transfermssql = Main.getJTextField30().getText();
		if ((Transfermssql == null) || (Transfermssql.length() == 0))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 30");
			f.getJLabel2().setText("Bitte Text im Feld 30 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Mssqltransferbuffer = Main.getJTextField31().getText();
		if ((Mssqltransferbuffer == null))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 31");
			f.getJLabel2().setText("Bitte Text im Feld 31 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Backupstrategie = (String) Main.getJComboBox4().getSelectedItem();
		if ((Backupstrategie == null) || (Backupstrategie.length() == 0))
			{
			JComboBox jCB = Main.getJComboBox4();
			jCB.setBackground(Model.getModel().getErrorBkColor());
			}
		Backupzeiten = (String) Main.getJComboBox5().getSelectedItem();
		if ((Backupzeiten == null) || (Backupzeiten.length() == 0))
			{
			JComboBox jCB = Main.getJComboBox5();
			jCB.setBackground(Model.getModel().getErrorBkColor());
			}
		Backupverzeichnis = Main.getJTextField32().getText();
		if ((Backupverzeichnis == null) || (Backupverzeichnis.length() == 0))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 32");
			f.getJLabel2().setText("Bitte Text im Feld 32 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Mysqldatenverzeichnis = Main.getJTextField33().getText();
		if ((Mysqldatenverzeichnis == null) || (Mysqldatenverzeichnis.length() == 0))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 33");
			f.getJLabel2().setText("Bitte Text im Feld 33 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		Guiflask = (String) Main.getJComboBox8().getSelectedItem();
		if ((Guiflask == null) || (Guiflask.length() == 0))
			{
			JComboBox jCB = Main.getJComboBox8();
			jCB.setBackground(Model.getModel().getErrorBkColor());
			}
		Backuptage = Main.getJTextField14().getText();
		if ((Backuptage == null) || (Backuptage.length() == 0))
			{
			Fehler f = new Fehler();
			f.setVisible(true);
			f.setTitle("Fehler im Textfeld 34");
			f.getJLabel2().setText("Bitte Text im Feld 34 angeben");
			Main.getJTextField1().setCursor(cursor);
			return;
			}
		}
		
		
		
		
		
		

	
	String lastDirectory = null;
	JFileChooser chooser = new JFileChooser();
    chooser.setDialogType(JFileChooser.SAVE_DIALOG);
    chooser.setDialogTitle("CFG-Datei speichern als ...");
    if (lastDirectory != null)
    {
    	chooser.setCurrentDirectory(new File(lastDirectory));
    }
    
    int returnVal = chooser.showSaveDialog(null);
    if(returnVal != JFileChooser.APPROVE_OPTION)
    {
        return;
    }
    File f = chooser.getSelectedFile();
    
    // Zuletzt verwendetes Verzeichnis merken:
    //----------------------------------------
    
   lastDirectory = f.getAbsolutePath();
    
    FileWriter dataStream = null;
    try
    {
        dataStream = new FileWriter(f.getAbsolutePath(), false);
    }
    catch (Exception e)
    {
    	           
        return;
    }
    String sCRLF = System.getProperty("line.separator");
    try
    {
 dataStream.write(";============================================================================="+sCRLF);
        dataStream.write("; Lizenz-Schlüssel:"+sCRLF);
        dataStream.write(";============================================================================="+sCRLF);
        dataStream.write(sCRLF);
        dataStream.write("LICENCE-KEY="+lizenz+sCRLF);
        dataStream.write(sCRLF);
        dataStream.write(";============================================================================="+sCRLF);
        dataStream.write("; Flag, ob GUI vorhanden oder nicht:"+sCRLF);
        dataStream.write(";============================================================================="+sCRLF);
        dataStream.write(sCRLF);
        dataStream.write("GUI="+Guiflask+sCRLF);
        dataStream.write(sCRLF);
...usw

}
        catch (Exception e)
        {
        	System.out.println(e);
        }
    }
}
 
Ich hab noch nicht nach dem Fehler geschaut, aber mal ein paar grundlegende Sachen.

Code:
Fehler f = new Fehler();
f.setVisible(true);
f.setTitle("Fehler im Textfeld 10");
f.getJLabel2().setText("Bitte Text im Feld 10 angeben");
Main.getJTextField1().setCursor(cursor);
return;

Das kannst du alles in eine eigene Methode vorkommen. Damit der Code nicht immer wieder vorkommt.

Code:
public void doOnError(String title, String message){
                Fehler f = new Fehler();
	f.setVisible(true);
	f.setTitle(title);
	f.getJLabel2().setText(message);
	Main.getJTextField1().setCursor(cursor);
	return;
}

Dann ist ein Model nur dafür da um Daten zu halten(JavaBean) und implementiert keine Logik.

MFG

Sascha
 
Morgen zusammen..Wochenende vorbei :(
Na ja der Fehler besteht immer noch! Hat da jetzt einer ne Lösung?

LG DominikB
 
Wann wird denn die Methode holen aufgerufen?

Wäre vielleicht doch mal nicht schlecht, wenn du die Klasse Main posten würdest, wie hammet schon gefragt hat.

Ich möchte dich auch mal darauf aufmerksam machen, dass Push-Posts nicht erlaubt sind.

MFG

Sascha
 
Na ja die ist zu groß um hier zu posten.
Holen wird aufgerufen,wenn der Menüpunkt "Speichern" ausgewählt wird!
 
Naja, ich denke nicht, dass man dir dann unbedingt helfen kann. Das einzige was hier ist, ist der Aufruf von getText() und daran kann man nicht viel falsch machen.

Warum machst du das eigentlich?
Code:
Main.getJTextField1().setCursor(cursor);

MFG

Sascha
 
Zurück