import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
public class TabDemo extends JFrame implements Runnable ,ActionListener{
private JTextField textFeld1;
private JButton button1;
JButton button2;
JTextArea textarea;
JTextField inputext,inputfield2;
JTextArea outputarea2;
JList liste2;
PrintStream out;
BufferedReader in;
Thread thread;
String name,gruppe;
Button button;
List li;
String newline = "\n";
Socket server;
public TabDemo(String title,String name,String gruppe) {
netzwerk();
setTitle("XXXX -1-");
setSize(600,400);
setLocationRelativeTo(null);
//setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
JTabbedPane tab = new JTabbedPane();//einmal
add(tab, BorderLayout.CENTER);
JLabel l1 = new JLabel("Label 1");
textFeld1 = new JTextField();
button1 = new JButton("1");
GridBagConstraints gbc = new GridBagConstraints();
JPanel panel1 = new JPanel(new GridBagLayout());
panel1.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
panel1.add(l1, gbc);
gbc.gridx = 1;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weightx = 1.0;
panel1.add(textFeld1, gbc);
gbc.gridy = 1;
gbc.fill = GridBagConstraints.NONE;
gbc.anchor = GridBagConstraints.EAST;
gbc.weightx = 0.0;
panel1.add(button1, gbc);
tab.add(panel1, "Tab1");
JPanel panel2 = new JPanel(new BorderLayout());
String [] lis ={name};
JList liste2 = new JList(lis);
liste2.setFixedCellWidth(150);
liste2.setBackground(Color.red);
panel2.add(liste2, BorderLayout.EAST);
final JTextArea outputarea2 = new JTextArea(5,20);
outputarea2.setBackground(Color.yellow);
outputarea2.addActionListener(this);
panel2.add(outputarea2, BorderLayout.CENTER);
// panel2.add("Center", outputarea2);
final JTextField inputfield2 = new JTextField();
inputfield2.addActionListener(this);
panel2.add(inputfield2, BorderLayout.SOUTH);
inputfield2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
senden(inputfield2.getText());
inputfield2.setText("");
}});
tab.add(panel2, "Tab2");
setVisible(true);
}
public void netzwerk(){
try
{
// socket = new Socket(this.getCodeBase().getHost(), PORT);
Socket server = new Socket("192.168.1.6",1234);
out = new PrintStream(server.getOutputStream(),true);//orgi
in = new BufferedReader(new InputStreamReader(server.getInputStream(),"UTF-8"));//ok t
} catch (IOException e)
{
e.printStackTrace();
say("Verbindung zum Server fehlgeschlagen!","Child System off");
}
if (thread == null)
{
thread = new Thread(this);
thread.setPriority(Thread.MIN_PRIORITY);
thread.start();
}
}
public void run()
{
String line;
String meldung;
try
{
while(true){
//for(;;){
line = in.readLine();
if(line == null)break;
//if(line !=null)
meldung = line.substring(3);
switch(line.charAt(0))
{
case 'S': //Senden
outputarea2.append(meldung +"\n");
break;
default:
break;
}//switch
//thisThread.sleep(interval);
//}
}
// thisThread = null;
// thread.sleep(50);
} catch (Exception e) {
// say(e.toString(),"System");
e.printStackTrace();
say("1.1-Verbindung zum Server abgebrochen","Child System off");
return;
}
}
public void actionPerformed(ActionEvent ea){
// nix
}
public void senden(String meldung)
{
meldung = name + " [ " + gruppe + " ] :: " + meldung;
out.println("S: " + meldung);
out.flush();
}
public void say(String msg, String m)
{
//outputarea.appendText("* "+msg+" * "+ m +"\n");
outputarea2.append("* "+msg+" * "+ m +"\n");
}
public static void main(String[]args) {
String name="";
String gruppe="";
TabDemo td = new TabDemo("Tabbed Pane Frame",name,gruppe);
td.netzwerk();
}
}