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 TelnetSocket Klasse (Socket). In der möchte ich dann die Verbindung überprüfen und falls diese nicht funktioniert eine Fehlermeldung auf der GUI ausgeben. Die Überprüfung stimmt auch nur die Ausgabe über ein Label oder ein JTextField will mir nicht gelingen. Es kommt beim Ausführen zu keiner Fehlermeldung! Aber es wird eben nichts auf der GUI angezeigt. Woran liegt das?
meine Socketklasse:
mein View:
Erzeuge in meinem View nach klick eines Buttons eine Instanz meiner TelnetSocket Klasse (Socket). In der möchte ich dann die Verbindung überprüfen und falls diese nicht funktioniert eine Fehlermeldung auf der GUI ausgeben. Die Überprüfung stimmt auch nur die Ausgabe über ein Label oder ein JTextField will mir nicht gelingen. Es kommt beim Ausführen zu keiner Fehlermeldung! Aber es wird eben nichts auf der GUI angezeigt. Woran liegt das?
meine Socketklasse:
Java:
package modemconfigtool;
import java.io.*; //einbinden für Socketklasse
import java.net.*;
//import java.awt.event.*;
//import java.awt.Robot;
//import java.lang.*;
//import java.awt.AWTException;
/*
/**
*
* @author Stapf
*/
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.socket.mainView.getLoginIncorrect().setText(failed);
/* //Simulation der ENTER-Taste
try{
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ENTER); //oder 10
}
catch (AWTException e){}
finally{
*/
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
}//Ende Klasse
mein View:
Java:
package modemconfigtool;
import org.jdesktop.application.Action;
import org.jdesktop.application.ResourceMap;
import org.jdesktop.application.SingleFrameApplication;
import org.jdesktop.application.FrameView;
import org.jdesktop.application.TaskMonitor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;
import javax.swing.Icon;
import javax.swing.JDialog;
import javax.swing.JFrame;
import java.io.*;
import java.net.*;
//import java.util.*;
import javax.swing.*;
/**
* The application's main frame.
*/
public class ModemconfigtoolView extends FrameView {
public TelnetSocket socket; //Socket deklarieren
public ModemconfigtoolView(SingleFrameApplication app) {
super(app);
initComponents();
}
@Action
public void showAboutBox() {
if (aboutBox == null) {
JFrame mainFrame = ModemconfigtoolApp.getApplication().getMainFrame();
aboutBox = new ModemconfigtoolAboutBox(mainFrame);
aboutBox.setLocationRelativeTo(mainFrame);
}
ModemconfigtoolApp.getApplication().show(aboutBox);
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
mainPanel = new javax.swing.JPanel();
Header = new javax.swing.JLabel();
Mast_Clean = new javax.swing.JLabel();
Redline = new javax.swing.JLabel();
Modemkonfigurationstool_titel = new javax.swing.JLabel();
IP_Adress = new javax.swing.JLabel();
Username = new javax.swing.JLabel();
Password = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jTextField2 = new javax.swing.JTextField();
jTextField3 = new javax.swing.JTextField();
Connection = new javax.swing.JButton();
LoginIncorrect = new javax.swing.JLabel();
Footer = new javax.swing.JLabel();
org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(modemconfigtool.ModemconfigtoolApp.class).getContext().getResourceMap(ModemconfigtoolView.class);
mainPanel.setBackground(resourceMap.getColor("mainPanel.background")); // NOI18N
mainPanel.setMaximumSize(new java.awt.Dimension(988, 425));
mainPanel.setMinimumSize(new java.awt.Dimension(988, 425));
mainPanel.setName("mainPanel"); // NOI18N
mainPanel.setPreferredSize(new java.awt.Dimension(988, 425));
mainPanel.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
Header.setIcon(resourceMap.getIcon("Header.icon")); // NOI18N
Header.setText(resourceMap.getString("Header.text")); // NOI18N
Header.setName("Header"); // NOI18N
mainPanel.add(Header, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
Mast_Clean.setIcon(resourceMap.getIcon("Mast_Clean.icon")); // NOI18N
Mast_Clean.setText(resourceMap.getString("Mast_Clean.text")); // NOI18N
Mast_Clean.setAlignmentY(0.0F);
Mast_Clean.setName("Mast_Clean"); // NOI18N
mainPanel.add(Mast_Clean, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 70, -1, -1));
Redline.setIcon(resourceMap.getIcon("Redline.icon")); // NOI18N
Redline.setText(resourceMap.getString("Redline.text")); // NOI18N
Redline.setName("Redline"); // NOI18N
mainPanel.add(Redline, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 220, -1, -1));
Modemkonfigurationstool_titel.setFont(resourceMap.getFont("Modemkonfigurationstool_titel.font")); // NOI18N
Modemkonfigurationstool_titel.setForeground(resourceMap.getColor("Modemkonfigurationstool_titel.foreground")); // NOI18N
Modemkonfigurationstool_titel.setText(resourceMap.getString("Modemkonfigurationstool_titel.text")); // NOI18N
Modemkonfigurationstool_titel.setName("Modemkonfigurationstool_titel"); // NOI18N
mainPanel.add(Modemkonfigurationstool_titel, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 240, -1, -1));
IP_Adress.setText(resourceMap.getString("IP_Adress.text")); // NOI18N
IP_Adress.setName("IP_Adress"); // NOI18N
mainPanel.add(IP_Adress, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 280, -1, -1));
Username.setText(resourceMap.getString("Username.text")); // NOI18N
Username.setName("Username"); // NOI18N
mainPanel.add(Username, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 310, -1, -1));
Password.setText(resourceMap.getString("Password.text")); // NOI18N
Password.setName("Password"); // NOI18N
mainPanel.add(Password, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 340, -1, 10));
jTextField1.setText(resourceMap.getString("jTextField1.text")); // NOI18N
jTextField1.setName("jTextField1"); // NOI18N
mainPanel.add(jTextField1, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 280, 100, -1));
jTextField2.setText(resourceMap.getString("jTextField2.text")); // NOI18N
jTextField2.setName("jTextField2"); // NOI18N
mainPanel.add(jTextField2, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 310, 100, -1));
jTextField3.setText(resourceMap.getString("jTextField3.text")); // NOI18N
jTextField3.setName("jTextField3"); // NOI18N
mainPanel.add(jTextField3, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 340, 100, -1));
Connection.setIcon(resourceMap.getIcon("Connection.icon")); // NOI18N
Connection.setText(resourceMap.getString("Connection.text")); // NOI18N
Connection.setName("Connection"); // NOI18N
Connection.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
ConnectionActionPerformed(evt);
}
});
mainPanel.add(Connection, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 380, 140, -1));
LoginIncorrect.setText(resourceMap.getString("LoginIncorrect.text")); // NOI18N
LoginIncorrect.setName("LoginIncorrect"); // NOI18N
mainPanel.add(LoginIncorrect, new org.netbeans.lib.awtextra.AbsoluteConstraints(250, 390, -1, -1));
Footer.setIcon(resourceMap.getIcon("Footer.icon")); // NOI18N
Footer.setText(resourceMap.getString("Footer.text")); // NOI18N
Footer.setName("Footer"); // NOI18N
mainPanel.add(Footer, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 416, -1, -1));
setComponent(mainPanel);
}// </editor-fold>
private void ConnectionActionPerformed(java.awt.event.ActionEvent evt) {
try{
socket = new TelnetSocket ( this, this.jTextField1.getText(), this.jTextField2.getText(), this.jTextField3.getText());
}//End try
catch(IOException e){
System.out.println("Zugriffsfehler");
}//End Catch
}
// Variables declaration - do not modify
public javax.swing.JButton Connection;
private javax.swing.JLabel Footer;
private javax.swing.JLabel Header;
private javax.swing.JLabel IP_Adress;
public javax.swing.JLabel LoginIncorrect;
private javax.swing.JLabel Mast_Clean;
private javax.swing.JLabel Modemkonfigurationstool_titel;
private javax.swing.JLabel Password;
private javax.swing.JLabel Redline;
private javax.swing.JLabel Username;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private javax.swing.JPanel mainPanel;
// End of variables declaration
/*
public javax.swing.JButton Connection;
private javax.swing.JLabel Header;
private javax.swing.JLabel IP_Adress;
private javax.swing.JLabel Mast_Clean;
private javax.swing.JLabel Modemkonfigurationstool_titel;
private javax.swing.JLabel Password;
private javax.swing.JLabel Redline;
private javax.swing.JLabel Username;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private javax.swing.JPanel mainPanel;
public javax.swing.JTextField LoginIncorrect;
*/
// private final Timer messageTimer;
// private final Timer busyIconTimer;
// private final Icon idleIcon;
// private final Icon[] busyIcons = new Icon[15];
// private int busyIconIndex = 0;
private JDialog aboutBox;
public javax.swing.JLabel getLoginIncorrect(){
return LoginIncorrect;
}
}