LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1380|回复: 13

我刚接触ecplise.请问大侠们一个ecplise 和 awt 之间的问题。

[复制链接]
发表于 2005-10-22 22:33:26 | 显示全部楼层 |阅读模式
请问ecplise环境只能编写swt的图形程序马?awt是否可用。
我在ecplise环境下编写awt有关的程序,但总是不能成功运行。希望大侠们帮帮忙。
每次运行都会出现一下报错提示:
Exception in thread "main" java.awt.AWTError: Cannot load AWT toolkit: gnu.java.awt.peer.gtk.GtkToolkit
   at java.awt.Toolkit.getDefaultToolkit() (/usr/lib64/libgcj.so.6.0.0)
   at java.awt.Window.getToolkit() (/usr/lib64/libgcj.so.6.0.0)
   at java.awt.Frame.addNotify() (/usr/lib64/libgcj.so.6.0.0)
   at java.awt.Window.show() (/usr/lib64/libgcj.so.6.0.0)
   at java.awt.Component.show(boolean) (/usr/lib64/libgcj.so.6.0.0)
   at java.awt.Component.setVisible(boolean) (/usr/lib64/libgcj.so.6.0.0)
   at Gui_1.go() (Unknown Source)
   at Gui_1.main(java.lang.String[]) (Unknown Source)
   at .main (/usr/lib64/libgij.so.6.0.0)
   at .__libc_start_main (/lib64/libc-2.3.5.so)
Caused by: java.lang.ClassNotFoundException: gnu.java.awt.peer.gtk.GtkToolkit not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:/home/sway/workspace/GUI_test/,file:./], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
   at java.net.URLClassLoader.findClass(java.lang.String) (/usr/lib64/libgcj.so.6.0.0)
   at java.lang.ClassLoader.loadClass(java.lang.String, boolean) (/usr/lib64/libgcj.so.6.0.0)
   at java.lang.ClassLoader.loadClass(java.lang.String) (/usr/lib64/libgcj.so.6.0.0)
   at java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (/usr/lib64/libgcj.so.6.0.0)
   at java.awt.Toolkit.getDefaultToolkit() (/usr/lib64/libgcj.so.6.0.0)
   ...9 more






我的程序代码如下
//文件名 Gui_1.java


import java.awt.*;
import java.awt.event.*;
import java.awt.event.ActionListener;



public class Gui_1 implements ActionListener
{
        double a,b,c;
       
        //define the component-----------------
        Frame f=new Frame("基本运算操作");
                                                        //创建一个框架
        FlowLayout fl=new FlowLayout(FlowLayout.CENTER,18,38);
                                                        //创建一个布局管理器
       
        Label label1= new Label("        操作数一");
        TextField  text1= new TextField(15);
        Label label2= new Label("        操作数二");
        TextField  text2= new TextField(15);
        Label label3= new Label("        计算结果");
        TextField  text3= new TextField(15);
       
        Button button1= new Button("   加        ");
        Button button2= new Button("   减        ");
        Button button3= new Button("   乘        ");
        Button button4= new Button("   除        ");
       
                                               
        public void go()
                                        //用于显示界面-------------------
        {
                f.setLayout(fl);
                f.add(label1);f.add(text1);
                f.add(label2);f.add(text2);
                f.add(label3);f.add(text3);
                f.add(button1);button1.addActionListener(this);
                f.add(button2);button2.addActionListener(this);
                f.add(button3);button3.addActionListener(this);
                f.add(button4);button4.addActionListener(this);
                f.setSize(300,300);
                f.setVisible(true);
        }
       
       
        public void actionPerformed(ActionEvent e)
        {
                String k;
               
                a=Double.parseDouble(text1.getText());
                b=Double.parseDouble(text2.getText());
               
                if(e.getSource()==button1) c=a+b;
                if(e.getSource()==button2) c=a-b;
                if(e.getSource()==button3) c=a*b;
                if(e.getSource()==button4) c=a/b;
               
                k=String.valueOf(c);//将C的值转成字符串形
                text3.setText(k);
        }
       
       
       
    //define the main method-------------------
        public static void main(String[] args)
        {
                Gui_1 gl= new Gui_1();
                gl.go();

        }

}
发表于 2005-10-23 09:38:27 | 显示全部楼层
Eclipse是可以编写awt程序的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-23 10:04:08 | 显示全部楼层
那怎么我的不行呢?我写的时候感觉很好,它是能认出来还会给我指出错误。但是运行起来就不行了
Exception in thread "main" java.awt.AWTError: Cannot load AWT toolkit: gnu.java.awt.peer.gtk.GtkToolkit
at java.awt.Toolkit.getDefaultToolkit() (/usr/lib64/libgcj.so.6.0.0)
..................
这些提示又是什么一回事呢?
回复 支持 反对

使用道具 举报

发表于 2005-10-23 10:17:28 | 显示全部楼层
提示不能載入AWT庫。看?韸呌玫氖荊CJ吧。可能是妳的GCJ不支持AWT?最好還是用SUN JDK。
Eclipse可以支持AWT/SWT/Swing。運行時跟Eclipse本身沒有關繫。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-23 10:22:02 | 显示全部楼层
原来是这样,我也安装了j2sdk,但是如何使eclipse运行程序时选用jdk环境呢?
回复 支持 反对

使用道具 举报

发表于 2005-10-23 10:59:33 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-23 11:14:25 | 显示全部楼层
sleepy,谢谢你的帮忙:)谢谢你
回复 支持 反对

使用道具 举报

发表于 2005-10-23 12:07:14 | 显示全部楼层
我的是jdk 1.5.0+eclipse 3.1.1.
运行效果如图。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-23 12:10:28 | 显示全部楼层
我的eclipse 是3.1.0,里面用的是gcj。
我得jdk刚刚装了。怎样才能使eclipse调用jdk而不是gcj呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-23 12:12:37 | 显示全部楼层
刚刚还有个问题想请教,我得jdk1.5.0装好了,但是控制台(ControlPanel)乱码,为什么呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表