also ich wollte auf meiner gui diesen -> http://www.inf.fu-berlin.de/inst/ag-bg/src/java/index.html chat implementieren nur nun mein problem wenn ich den server starte und verschiedene applets funktioniert das wunderbar wenn ich aber mein programm starte und darin das jframe und zum server connecte geht alles was ich schreibe auch raus an die anderen chatclientapplets nur auf meinem frame wird mir nichts angezeigt? und bekomme nichts rein muss ich vielleicht ein repaint oder sowas irgendwo machen besteht da vielleicht ein unterschied zum applet
hier mein eingebautes jframe in meine gui?
das was ich umgeändert habe war eigentlich nur das
socket = new Socket(localHost, PORT);
hat jemand eine idee warum ich da nix reinbekomme im originalapplet aber schon angezeigts wirds mir ja einwandfrei und zum server connecten haut auch hin
big thx
hier mein eingebautes jframe in meine gui?
das was ich umgeändert habe war eigentlich nur das
socket = new Socket(localHost, PORT);
hat jemand eine idee warum ich da nix reinbekomme im originalapplet aber schon angezeigts wirds mir ja einwandfrei und zum server connecten haut auch hin
Code:
public class ChatPanel extends JPanel implements Runnable{
public static final int PORT = 8765;
Socket socket;
DataInputStream in;
PrintStream out;
TextField inputfield;
TextArea outputarea;
Thread thread;
JButton client;
ChatPanel(){
inputfield = new TextField(80);
outputarea = new TextArea(5,80);
outputarea.setFont( new Font("Dialog", Font.ITALIC, 12));
outputarea.setEditable(false);
this.setLayout(new BorderLayout());
client = new JButton("StartClient");
JPanel button = new JPanel (new BorderLayout());
client.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event){
start();
}
});
button.add("West",client);
this.add("North",button);
this.add("South", inputfield);
this.add("Center", outputarea);
this.setBackground(Color.lightGray);
this.setForeground(Color.black);
inputfield.setBackground(Color.white);
outputarea.setBackground(Color.white);
}
public void start()
{ InetAddress localHost = null;
try {
localHost = InetAddress.getLocalHost();
} catch (UnknownHostException e1) {
e1.printStackTrace();
}
try
{
socket = new Socket(localHost, PORT);
//socket = new Socket(this.getCodeBase().getHost(), PORT);
in = new DataInputStream(socket.getInputStream());
out = new PrintStream(socket.getOutputStream());
say("Verbindung zum Server aufgenommen...");
if (thread == null)
{
thread = new Thread();
thread.setPriority(Thread.MIN_PRIORITY);
thread.start();
}
} catch (IOException e)
{
// this.showStatus(e.toString());
say("Verbindung zum Server fehlgeschlagen!");
//System.exit(1);
}
}
public void stop()
{
try
{
socket.close();
} catch (IOException e)
{
// this.showStatus(e.toString());
}
if ((thread !=null) && thread.isAlive())
{
thread.stop();
thread = null;
}
}
public void run()
{
String line;
try
{
while(true)
{
line = in.readLine();
if(line!=null)
outputarea.appendText(line+'\n' );
}
} catch (IOException e) { say("Verbindung zum Server abgebrochen"); }
}
public boolean action(Event e, Object what)
{
if (e.target==inputfield)
{
String inp=(String) e.arg;
out.println(inp);
inputfield.setText("");
return true;
}
return false;
}
public void say(String msg)
{
outputarea.appendText("*** "+msg+" ***\n");
}
}
big thx