Hi, also ich hab mein Programm soweit fertig, und möchte nun
das Programm als Applet starten, lokal auf meinem Rechner, mit der Eingabeaufforderung
aber wenn ich das starte, zeigt die Fehlermeldung mir immer wieder
auf die Erste Zeile,
und in der ersten Zeile
importet meine ChatKlasse
import.java.applet.Applet;
was mache ich falsch, die Klasse ist extends Applet
und um sie anzuzeigen habe ich mich für das MainFrame entschiéden, ich habe auch zum KlasPath Java3D Angefügt, damit ich über die Eingabeaufforderung das Mainframe verwenden kann, aber das geht nicht schaut hier mal die FehlerException
Ich hab das halt mit ner Batch Datei geschrieben, für alle, die meine Klasse "JavaChat_1" nicht kennen, der Quellcode ist als erstes gepostet in folgendem Thread:
[highlight="Java"]
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Event;
import java.awt.Font;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintStream;
import java.net.Socket;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JTextArea;
import com.sun.j3d.utils.applet.MainFrame;
public class JavaChat_1 extends Applet implements Runnable
{
public static final int PORT = 1;
Socket socket;
DataInputStream in;
PrintStream out;
TextField inputfield;
TextArea outputarea;
Thread thread;
String name;
public JavaChat_1()
{
File f = new File("F:/FUTUR.PROGRAMS/Chat/Saves.txt");
name = getContents(f);
new chatserver();
inputfield = new TextField();
outputarea = new TextArea();
outputarea.setFont( new Font("Dialog", Font.PLAIN, 12));
outputarea.setEditable(false);
this.setLayout(new BorderLayout());
this.add("South", inputfield);
this.add("Center", outputarea);
this.setBackground(Color.cyan);
this.setForeground(Color.cyan);
inputfield.setBackground(Color.black);
outputarea.setBackground(Color.black);
JMenuBar bar = new JMenuBar();bar.setBackground(Color.black);this.add(bar,BorderLayout.NORTH);
JMenu m = new JMenu("Start");m.setForeground(Color.cyan);bar.add(m);
JMenuItem i = new JMenuItem("Benutzternamen ändern");i.setForeground(Color.cyan);i.setBackground(Color.black);m.add(i);
i.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent evt) {
b1ActionPerformed(evt);
}
private void b1ActionPerformed(ActionEvent evt)
{
new MainFrame(new Ändern(),200,250);
}
});
JMenuItem o = new JMenuItem("PORT ändern");o.setForeground(Color.cyan);o.setBackground(Color.black);m.add(o);
o.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent evt) {
b1ActionPerformed(evt);
}
private void b1ActionPerformed(ActionEvent evt)
{
new MainFrame(new Porter(),200,250);
}
});
JMenuItem i1 = new JMenuItem("Beenden");i1.setForeground(Color.cyan);i1.setBackground(Color.black);m.add(i1);
i1.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent evt) {
b1ActionPerformed(evt);
}
private void b1ActionPerformed(ActionEvent evt)
{
System.exit(0);
}
});
JTextArea a = new JTextArea();
a.setText(" Java_Chat_1.0");a.setEnabled(false); bar.add(a);a.setBackground(Color.black);
JMenu me = new JMenu("Hilfe");
me.setForeground(Color.cyan);
bar.add(me);
JMenuItem m1 = new JMenuItem("Hilfe aufrufen");
m1.setBackground(Color.black); m1.setForeground(Color.cyan);
me.add(m1);
i1.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent evt) {
b1ActionPerformed(evt);
}
private void b1ActionPerformed(ActionEvent evt)
{
new MainFrame (new Help(),200,250);
}
});
}
public void start()
{
try
{
socket = new Socket(this.getCodeBase().getHost(), PORT);
in = new DataInputStream(socket.getInputStream());
out = new PrintStream(socket.getOutputStream());
} catch (IOException e)
{
this.showStatus(e.toString());
say("Verbindung zum Server fehlgeschlagen!");
}
say(name+" ist der ChatSitzung im Port:"+PORT+" beigetreten.");
if (thread == null)
{
thread = new Thread(this);
thread.setPriority(Thread.MIN_PRIORITY);
thread.start();
}
}
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)name+": "+ e.arg;
out.println(inp);
inputfield.setText("");
return true;
}
return false;
}
public void say(String msg)
{
outputarea.appendText("*** "+msg+" ***\n");
}
static public String getContents(File aFile)
{
StringBuilder contents = new StringBuilder();
try {
BufferedReader input = new BufferedReader(new FileReader(aFile));
try {
String line = null;
while (( line = input.readLine()) != null){
contents.append(line);
}
}
finally {
input.close();
}
}
catch (IOException ex){
ex.printStackTrace();
}
return contents.toString();
}
public static void main(String[]args)
{
new MainFrame(new JavaChat_1(),200,250);
}
}
[/highlight]
@ADMIN
seht ihr, ich kann das mit HightLight jetzt auch!
bei mir klappt das in Eclipse ohne Probleme, aber was mache ich denn falsch?
das Programm als Applet starten, lokal auf meinem Rechner, mit der Eingabeaufforderung
aber wenn ich das starte, zeigt die Fehlermeldung mir immer wieder
auf die Erste Zeile,
und in der ersten Zeile
importet meine ChatKlasse
import.java.applet.Applet;
was mache ich falsch, die Klasse ist extends Applet
und um sie anzuzeigen habe ich mich für das MainFrame entschiéden, ich habe auch zum KlasPath Java3D Angefügt, damit ich über die Eingabeaufforderung das Mainframe verwenden kann, aber das geht nicht schaut hier mal die FehlerException
Code:
ECHO ist eingeschaltet (ON).
F:\FUTUR.PROGRAMS\Chat.Programm>set PATH=C:\Programme\Java\jdk1.6.0_11\bin; C:\W
indows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\QuickTime\Q
TSystem\;C:\Program Files\Haufe\iDesk\iDeskService\;C:\Program Files\T-Online\T-
Online_Software_6\Basis-Software\Basis2\;C:\DJGPP\BIN;C:\Program Files\Common Fi
les\Nero\Lib\;C:\Program Files\Common Files\Nero\Lib\
F:\FUTUR.PROGRAMS\Chat.Programm>javac -cp F:\Imports\j3dcore.jar;F:\Imports\j3du
tils.jar;F:\Imports\vecmath.jar; JavaChat_1.java
Note: JavaChat_1.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
F:\FUTUR.PROGRAMS\Chat.Programm>java -cp F:\Imports\j3dcore.jar;F:\Imports\j3dut
ils.jar;F:\Imports\vecmath.jar; JavaChat_1
[highlight]
Exception in thread "Thread-4" java.lang.NullPointerException
at JavaChat_1.start(JavaChat_1.java:1)
at com.sun.j3d.utils.applet.MainFrame.run(MainFrame.java:270)
at java.lang.Thread.run(Thread.java:619)
[/highlight]
F:\FUTUR.PROGRAMS\Chat.Programm>pause
Drücken Sie eine beliebige Taste . . .
[highlight="Java"]
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Event;
import java.awt.Font;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintStream;
import java.net.Socket;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JTextArea;
import com.sun.j3d.utils.applet.MainFrame;
public class JavaChat_1 extends Applet implements Runnable
{
public static final int PORT = 1;
Socket socket;
DataInputStream in;
PrintStream out;
TextField inputfield;
TextArea outputarea;
Thread thread;
String name;
public JavaChat_1()
{
File f = new File("F:/FUTUR.PROGRAMS/Chat/Saves.txt");
name = getContents(f);
new chatserver();
inputfield = new TextField();
outputarea = new TextArea();
outputarea.setFont( new Font("Dialog", Font.PLAIN, 12));
outputarea.setEditable(false);
this.setLayout(new BorderLayout());
this.add("South", inputfield);
this.add("Center", outputarea);
this.setBackground(Color.cyan);
this.setForeground(Color.cyan);
inputfield.setBackground(Color.black);
outputarea.setBackground(Color.black);
JMenuBar bar = new JMenuBar();bar.setBackground(Color.black);this.add(bar,BorderLayout.NORTH);
JMenu m = new JMenu("Start");m.setForeground(Color.cyan);bar.add(m);
JMenuItem i = new JMenuItem("Benutzternamen ändern");i.setForeground(Color.cyan);i.setBackground(Color.black);m.add(i);
i.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent evt) {
b1ActionPerformed(evt);
}
private void b1ActionPerformed(ActionEvent evt)
{
new MainFrame(new Ändern(),200,250);
}
});
JMenuItem o = new JMenuItem("PORT ändern");o.setForeground(Color.cyan);o.setBackground(Color.black);m.add(o);
o.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent evt) {
b1ActionPerformed(evt);
}
private void b1ActionPerformed(ActionEvent evt)
{
new MainFrame(new Porter(),200,250);
}
});
JMenuItem i1 = new JMenuItem("Beenden");i1.setForeground(Color.cyan);i1.setBackground(Color.black);m.add(i1);
i1.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent evt) {
b1ActionPerformed(evt);
}
private void b1ActionPerformed(ActionEvent evt)
{
System.exit(0);
}
});
JTextArea a = new JTextArea();
a.setText(" Java_Chat_1.0");a.setEnabled(false); bar.add(a);a.setBackground(Color.black);
JMenu me = new JMenu("Hilfe");
me.setForeground(Color.cyan);
bar.add(me);
JMenuItem m1 = new JMenuItem("Hilfe aufrufen");
m1.setBackground(Color.black); m1.setForeground(Color.cyan);
me.add(m1);
i1.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent evt) {
b1ActionPerformed(evt);
}
private void b1ActionPerformed(ActionEvent evt)
{
new MainFrame (new Help(),200,250);
}
});
}
public void start()
{
try
{
socket = new Socket(this.getCodeBase().getHost(), PORT);
in = new DataInputStream(socket.getInputStream());
out = new PrintStream(socket.getOutputStream());
} catch (IOException e)
{
this.showStatus(e.toString());
say("Verbindung zum Server fehlgeschlagen!");
}
say(name+" ist der ChatSitzung im Port:"+PORT+" beigetreten.");
if (thread == null)
{
thread = new Thread(this);
thread.setPriority(Thread.MIN_PRIORITY);
thread.start();
}
}
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)name+": "+ e.arg;
out.println(inp);
inputfield.setText("");
return true;
}
return false;
}
public void say(String msg)
{
outputarea.appendText("*** "+msg+" ***\n");
}
static public String getContents(File aFile)
{
StringBuilder contents = new StringBuilder();
try {
BufferedReader input = new BufferedReader(new FileReader(aFile));
try {
String line = null;
while (( line = input.readLine()) != null){
contents.append(line);
}
}
finally {
input.close();
}
}
catch (IOException ex){
ex.printStackTrace();
}
return contents.toString();
}
public static void main(String[]args)
{
new MainFrame(new JavaChat_1(),200,250);
}
}
[/highlight]
@ADMIN
seht ihr, ich kann das mit HightLight jetzt auch!
bei mir klappt das in Eclipse ohne Probleme, aber was mache ich denn falsch?
Zuletzt bearbeitet von einem Moderator: