Hallo, bin mich grade in das AWT am einarbeiten, bekomme es aber einfach nicht hin mit meinem Linuxrechner an den Projekten die ich für die Schule machen muss zu arbeiten. Mein derzeitiges Programm sieht folgendermaßen aus, läuft mit Windows auch problemlos:
Kompilieren lässt sich das Ding sowie mit Windows als auch mit Linux problemlos. Wenn ich die Klasse JavaPhoneGui unter Linux erzeuge bekomme ich folgende Fehlermeldung:
Bin total ratlos was ich tun soll, wäre dankbar für einen guten Rat^^
Simon
Code:
import java.awt.*;
class JavaPhoneGui extends Frame {
Button key1 = new Button("1");
Button key2 = new Button("2");
Button key3 = new Button("3");
Button key4 = new Button("4");
Button key5 = new Button("5");
Button key6 = new Button("6");
Button key7 = new Button("7");
Button key8 = new Button("8");
Button key9 = new Button("9");
Button key0 = new Button("0");
Button key_raute = new Button("#");
Button key_stern = new Button("*");
Button hookoff = new Button("Hook off");
TextField display = new TextField();
Label state = new Label("ready");
Panel keyPanel = new Panel();
Panel keyDisplayPanel = new Panel();
Panel statePanel = new Panel();
JavaPhoneGui() {
setLayout(new BorderLayout(20,20));
keyPanel.setLayout(new GridLayout(4,3,2,2));
keyDisplayPanel.setLayout(new BorderLayout(20,20));
statePanel.setLayout(new BorderLayout(20,20));
keyPanel.add(key1);
keyPanel.add(key2);
keyPanel.add(key3);
keyPanel.add(key4);
keyPanel.add(key5);
keyPanel.add(key6);
keyPanel.add(key7);
keyPanel.add(key8);
keyPanel.add(key9);
keyPanel.add(key_raute);
keyPanel.add(key0);
keyPanel.add(key_stern);
keyDisplayPanel.add(display, BorderLayout.NORTH);
keyDisplayPanel.add(keyPanel, BorderLayout.CENTER);
statePanel.add(hookoff,BorderLayout.CENTER);
statePanel.add(state, BorderLayout.NORTH);
add(keyDisplayPanel, BorderLayout.CENTER);
add(statePanel, BorderLayout.WEST);
// Farben
setBackground(Color.black);
key1.setForeground(Color.white);
key1.setBackground(Color.black);
key2.setForeground(Color.white);
key2.setBackground(Color.black);
key3.setForeground(Color.white);
key3.setBackground(Color.black);
key4.setForeground(Color.white);
key4.setBackground(Color.black);
key5.setForeground(Color.white);
key5.setBackground(Color.black);
key6.setForeground(Color.white);
key6.setBackground(Color.black);
key7.setForeground(Color.white);
key7.setBackground(Color.black);
key8.setForeground(Color.white);
key8.setBackground(Color.black);
key9.setForeground(Color.white);
key9.setBackground(Color.black);
key0.setForeground(Color.white);
key0.setBackground(Color.black);
key_raute.setForeground(Color.white);
key_raute.setBackground(Color.black);
key_stern.setForeground(Color.white);
key_stern.setBackground(Color.black);
state.setForeground(Color.white);
hookoff.setBackground(Color.black);
hookoff.setForeground(Color.white);
setTitle("JavaPhone");
setSize(250,250);
setLocation(300,300);
setResizable(false);
setVisible(true);
}
}
Kompilieren lässt sich das Ding sowie mit Windows als auch mit Linux problemlos. Wenn ich die Klasse JavaPhoneGui unter Linux erzeuge bekomme ich folgende Fehlermeldung:
simon@simon:/media/THM_LYRA/Schule/Info/Gui/JavaPhone$ java JavaPhone
Exception in thread "main" java.awt.AWTError: Cannot load AWT toolkit: gnu.java.awt.peer.gtk.GtkToolkit
at java.awt.Toolkit.getDefaultToolkit() (/usr/lib/libgcj.so.6.0.0)
at java.awt.Window.getToolkit() (/usr/lib/libgcj.so.6.0.0)
at java.awt.Frame.addNotify() (/usr/lib/libgcj.so.6.0.0)
at java.awt.Window.show() (/usr/lib/libgcj.so.6.0.0)
at java.awt.Component.show(boolean) (/usr/lib/libgcj.so.6.0.0)
at java.awt.Component.setVisible(boolean) (/usr/lib/libgcj.so.6.0.0)
at JavaPhoneGui.JavaPhoneGui() (Unknown Source)
at JavaPhone.main(java.lang.String[]) (Unknown Source)
at gnu.java.lang.MainThread.call_main() (/usr/lib/libgcj.so.6.0.0)
at gnu.java.lang.MainThread.run() (/usr/lib/libgcj.so.6.0.0)
Caused by: java.lang.ClassNotFoundException: gnu.java.awt.peer.gtk.GtkToolkit not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:./,file:./], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
at java.net.URLClassLoader.findClass(java.lang.String) (/usr/lib/libgcj.so.6.0.0)
at java.lang.ClassLoader.loadClass(java.lang.String, boolean) (/usr/lib/libgcj.so.6.0.0)
at java.lang.ClassLoader.loadClass(java.lang.String) (/usr/lib/libgcj.so.6.0.0)
at java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (/usr/lib/libgcj.so.6.0.0)
at java.lang.Class.forName(java.lang.String) (/usr/lib/libgcj.so.6.0.0)
at java.awt.Toolkit.getDefaultToolkit() (/usr/lib/libgcj.so.6.0.0)
...9 more
Bin total ratlos was ich tun soll, wäre dankbar für einen guten Rat^^
Simon