mit eigener Klasse JTextField ändern

Stapf_JAVA

Mitglied
Hallo. Bin JAVA Neuling. Soll für ein industriepraktikum programmieren. Ziel. Verbindung zu einem Modem via Telnet. Verbindung klappt auch schon. Jetzt brauche ich Hilfe. Nutze Netbeans und hab eine DesktopApp erstellt.
Erzeuge in meinem View nach klick eines Buttons eine Instanz meiner Socketklasse. In der möchte ich dann die Verbindung überprüfen und falls diese nicht funktioniert eine Fehlermeldung auf der GUI ausgeben.

meine Socketklasse:
Java:
public class TelnetSocket {
    public ModemconfigtoolView mainView;


    public boolean is_connected = false;

    public TelnetSocket ( ModemconfigtoolView view, String ipAddr, String user, String password)throws IOException  //Konstruktor
    {  //Verbindungsaufbau
        mainView = view;
        Socket echoSocket = null;      //Variablen vom Typ der Klasse anlegen
        PrintWriter out = null;
        BufferedReader in = null;
       // System.out.print("IP?:") ;
        //String IP = "192.168.2.101"; // VOM BEDIENER EINZUGEBEN

        try {
            echoSocket = new Socket(ipAddr , 23); // Zuweisungen
            out = new PrintWriter(echoSocket.getOutputStream(), true);
            in = new BufferedReader(new InputStreamReader(
                                        echoSocket.getInputStream()));
        } catch (UnknownHostException e) {
            System.err.println("Exiting. Don't know about host:" + ipAddr);
            System.exit(1);
        } catch (IOException e) {
            System.err.println("Exiting. Couldn't get I/O for the connection: "+ ipAddr+"\nChange IP Address ?");
            System.exit(1);
        }

	BufferedReader stdIn = new BufferedReader(
                                   new InputStreamReader(System.in));


        is_connected = true;

        String test = "test";
        String failed = "Login incorrect";
        String userInput;
    //    String consoleOutput;
       
         
             
        System.out.println("echo: " + in.readLine()); // Sequenzen vom Aufbau??

          //Login
        out.println(user);                              // Usernamen eingeben
        System.out.println("echo: " + in.readLine());   //Anzeige
        out.println(password);                          //Passwort eingeben
        System.out.println("echo: " + in.readLine());   //Anzeige



        String access;
        access = in.readLine();
        if (failed.compareTo(access)== 0){  //liefert 0 bei Übereinstimmung
        System.err.println("Login incorrect");}

        view.get_login_incorrect().setText(failed);
            

                          

  
	while ((userInput = stdIn.readLine()) != null) {
	    out.println(userInput); //for (int zahl=1; zahl<=anzahl; zahl++){
            //while ((consoleOutput = in.readLine()) != null){
            System.out.println("echo: " + in.readLine());}
       //     } //Ende Else
        }//Ende Verbindungsaufbau

Die dazugehörige Methode in meinem View

Java:
public javax.swing.JLabel get_login_incorrect(){
 return LoginIncorrect;
}
}

Kenne OOP und JAVA erst seit einer Woche und bin um jede Hilfe dankbar
 
Methoden und Variablen camelCase get_login_incorrect > getLoginIncorrect

Du musst der TelnetSocket eine Referenz auf deine View mitgeben. Dann kannst du den Wert setzen.

Oder besser MVN anschaun.
 
Danke für die Antwort.Ich dachte dass ich das mache...Ich rufe im view eine Istanz der Klasse TelnetSocket auf. Diese nenne ich Socket. Erfolgt bei Aktion in einem JButton. Im Konstruktor übergebe ich dann das View. Und weise in der Klasse TelnetSocket zu mainview=view. Oder verstehe ich das falsch?
 

Zurück
Oben