hi ich hab hier einen code un bekomme den nich als Applet in eine seite eingebaut, kann mir da jemand helfen ?
bekomme folgende Meldung:
Danke im Vorraus.
bekomme folgende Meldung:
Code:
Laden: client ist nicht öffentlich oder hat keinen öffentlichen Autor.
java.lang.IllegalAccessException: Class sun.applet.AppletPanel can not access a member of class client with modifiers ""
at sun.reflect.Reflection.ensureMemberAccess(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Code:
import java.io.*;
import java.net.*;
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class client extends JFrame{
JTextArea ausgabeArea,eingabeArea;
JTextField hostFeld,portFeld, nameFeld;
JButton sendenButton, verbindenButton;
JList userListe;
DefaultListModel listModel;
JPanel panel, panel1, panel2, panel3;
JScrollPane spane;
String host,msg;
int port;
InputStream in;
OutputStream out;
BufferedReader from_server;
PrintWriter to_server;
boolean verbunden=false;
Socket s;
class WindowEventHandler extends WindowAdapter {
public void windowClosing (WindowEvent we) {
try { //versuche die Verbindung zum Server zu beenden
s.close();
}
catch (Exception es) {}
System.exit(0);
}
}
class ButtonEventHandler implements ActionListener {
public void actionPerformed (ActionEvent e) {
if (e.getSource()==(JButton)sendenButton) {
try {
String msg = eingabeArea.getText();
to_server.write(nameFeld.getText()+": "+msg);
to_server.flush();
eingabeArea.setText("");
eingabeArea.requestFocus();
}
catch (Exception er) {
System.err.println(er);
}
}
if (e.getSource()==(JButton)verbindenButton) {
if (!verbunden) {
EmpfangThread verbinden=new EmpfangThread();
verbinden.start();
}
}
}
}
class EmpfangThread extends Thread {
public EmpfangThread() {}
public synchronized void run () {
try {
host = hostFeld.getText();
port = Integer.parseInt(portFeld.getText());
s = new Socket(host, port);
in = s.getInputStream();
out = s.getOutputStream();
from_server = new BufferedReader(new InputStreamReader(in));
to_server = new PrintWriter(new OutputStreamWriter(out));
verbunden=true;
//Dem Server sagen wer man ist:
to_server.write(nameFeld.getText());
to_server.flush();
char[] buffer = new char[1024];
int chars_read;
try {
while((chars_read = from_server.read(buffer)) != -1) {
String daten=new String(buffer, 0, chars_read);
StringTokenizer st=new StringTokenizer(daten,"\n");
if (st.nextToken().equals("#user")) {
ausgabeArea.append("neue Userliste\n");
listModel.clear();
while (st.hasMoreTokens()) {
String token=st.nextToken();
if (token.equals("#user")) break;
listModel.addElement(token);
}
}
else //NormalFall, einfach nur Text
ausgabeArea.append(daten+"\n");
//Autoscrollen
ausgabeArea.scrollRectToVisible(new Rectangle(ausgabeArea.getWidth(),ausgabeArea.getHeight(),1,1));
}
}
catch (Exception ef) { ausgabeArea.append("\n"+ef+"\n"); }
s.close();
}
catch (Exception ex) {
ausgabeArea.append("\n"+ex+"\n");
}
verbunden=false;
}
}
chatclient() {
super("xxx");
Color hintergrundFarbe=new Color(245,222,179);
ausgabeArea=new JTextArea(15,40);
ausgabeArea.setEditable(false); // read only
ausgabeArea.setBackground(hintergrundFarbe);
ausgabeArea.setForeground(new Color(0,0,0));
ausgabeArea.setLineWrap(true); //ZeilenUmbruch
hostFeld=new JTextField("localhost",30);
hostFeld.setBackground(hintergrundFarbe);
hostFeld.setForeground(new Color(0,0,0));
portFeld=new JTextField("8472",10);
portFeld.setBackground(hintergrundFarbe);
portFeld.setForeground(new Color(0,0,0));
nameFeld=new JTextField("User",20);
nameFeld.setBackground(hintergrundFarbe);
nameFeld.setForeground(new Color(0,0,0));
eingabeArea=new JTextArea(3,50);
eingabeArea.setBackground(hintergrundFarbe);
eingabeArea.setForeground(new Color(0,0,0));
sendenButton=new JButton("Senden (Alt+S)");
sendenButton.addActionListener(new ButtonEventHandler());
sendenButton.setMnemonic('S'); //Auf Alt+S reagieren
verbindenButton=new JButton("Verbinden");
verbindenButton.addActionListener(new ButtonEventHandler());
listModel = new DefaultListModel();
//listModel.addElement("Sergius");
userListe=new JList(listModel);
userListe.setBackground(hintergrundFarbe);
userListe.setForeground(new Color(255,255,255));
userListe.setFixedCellWidth(110);
addWindowListener(new WindowEventHandler());
panel=new JPanel();
panel1=new JPanel();
panel2=new JPanel();
panel3=new JPanel();
panel.setBackground(new Color(111,0,0));
panel1.setBackground(new Color(111,0,0));
panel2.setBackground(new Color(111,0,0));
panel3.setBackground(new Color(111,0,0));
JLabel label=new JLabel("Host:");
label.setForeground(new Color(255,255,255));
panel.add(label);
panel.add(hostFeld);
label=new JLabel("Port:");
label.setForeground(new Color(255,255,255));
panel.add(label);
panel.add(portFeld);
panel.add(verbindenButton);
spane=new JScrollPane(ausgabeArea);
//spane.set....
panel1.add(spane);
panel1.add(new JScrollPane(userListe));
panel2.setLayout(new FlowLayout(FlowLayout.CENTER));
panel2.add(new JScrollPane(eingabeArea));
label=new JLabel("Dein Name:");
label.setForeground(new Color(255,255,255));
panel3.add(label);
panel3.add(nameFeld);
Container c=getContentPane();
c.setLayout(new FlowLayout(FlowLayout.CENTER));
c.add(panel);
c.add(panel3);
c.add(panel1);
c.add(panel2);
c.add(sendenButton);
c.setBackground(new Color(111,0,0));
}
public static void main (String args[]) {
chatclient cl=new chatclient();
cl.setSize(630,470);
cl.setVisible(true);
}
}
Danke im Vorraus.