♣
质疑一次编译到处运行
看了一些书,知道awt在不同平台下回出问题,我就尽量使用swing,这次在xp下用虚拟机启动了linux(
fedora),然后运行,竟然报错
报错信息如下:
(.:3104): glib-gobject-warning **: invalid uninstantiatable type `<invalid> in cast to
`gtkwidget
(.:3104): gtk-critical **: gtk_widget_hide: assertion `gtk_is_widget (widget) failed
以下是我的源文件,其实,很简单,就是在一个jdialog容器中放了一个jfilechooser,将其显示出来,
刚刚看了一些文章,说ibm发现swing漏洞百出,没有办法才自己开发了swt,看来好像真的是这个样子的
。
我的代码如下:
//file:jd1.java
/*
* 创建日期 2005-9-23
*
* todo 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - java - 代码样式 - 代码模板
*/
package field.ui;
import javax.swing.jdialog;
import javax.swing.jfilechooser;
import javax.swing.jpanel;
import java.awt.borderlayout;
import java.io.file;
public class jd1 {
public static void main(string [] args){
system.out.println("ffffffff");
jd1 jd1 = new jd1();
}
//private startframe1 sf = null;
private file file1 = null;
public jd1(){
this.jdialog = this.getjdialog();
this.jdialog.setvisible(true);
//this.sf = sf1;
}
private jdialog jdialog = null; // @jve:decl-index=0:visual-constraint="45,5"
private jpanel jcontentpane = null;
private jfilechooser jfilechooser = null;
private jfilechooser getjfilechooser(){
if(this.jfilechooser == null){
this.jfilechooser = new jfilechooser();
jfilechooser.addactionlistener(new java.awt.event.actionlistener()
{
public void actionperformed(java.awt.event.actionevent e) {
system.out.println("actionperformed()");
file1 = jfilechooser.getselectedfile();
jdialog.setvisible(false);
}
});
}
return this.jfilechooser;
}
/**
* this method initializes jdialog
*
* @return javax.swing.jdialog
*/
private jdialog getjdialog() {
if (jdialog == null) {
jdialog = new jdialog();
jdialog.setsize(new java.awt.dimension(419,285));
jdialog.settitle("select file");
jdialog.setcontentpane(getjcontentpane());
}
return jdialog;
}
/**
* this method initializes jcontentpane
*
* @return javax.swing.jpanel
*/
private jpanel getjcontentpane() {
if (jcontentpane == null) {
jcontentpane = new jpanel();
jcontentpane.setlayout(new borderlayout());
jcontentpane.add(this.getjfilechooser(),borderlayout.center);
}
return jcontentpane;
}
}
- · 推荐参考文章:
- 发布一个webservice供大家使用
- 用.net创建windowsservice的总结(C#代码)tojike(原作)
- 创建.NETWeb服务(转)
- AC#SOAPApacheClient(4.26的好文章。Good)
- 利用WebService技术实现远程数据库存取
- 利用PocketSOAP链接webservice(1)---.net
- WEBSERVER如何支持CGI/PHP/Perl___程序的核心内容(1)
- WEBSERVER如何支持CGI/PHP/Perl___程序的核心内容(2)
- Web服务互操作性和SOAP
- UsingWebServicesforRemotingovertheInternet.(中)
· 网友精彩回答:
说法是成立的,关键看写代码的是谁。如果是我写,那就是:
一次“编写”,到处调试。
有道理!如果是我写,就是:
一次编写,到处失败。
如果是我写,没得到处***,因为我就会在windows下看看电影.其他系统没用过!!
java的图形是比较滥的东西,好像没人会用java开发窗口程序吧。
所谓swt好像也是用其他语言画图,然后通过java native interface调用来实现的。所以看上去eclipse这个用java开发的东西和自己写的swing程序很不一样的原因。
- 更多问题:
- · 求助:在XP下面怎样设置数据库(access)文件夹的写入权限?
- · 如何使用Apache的HSSF(POI)来写上万行的Excel报表
- · 论坛发帖与跟贴的原理
- · 爆难算法题一 据说北京某名牌大学全军覆没 大家讨论下
- · [请教]VB.NET中的参数传递的问题?
- · 如何使用Apache的HSSF(POI)来写上万行的Excel报表
- · 如何是插入的数据不被触发器更改?
- · 怎么删除这些东西?
- · 一个指针的问题
- · 请教!!!!!!J2EE应该怎样学?
- · 未绑定到实例 在线等?求一般的解决办法
- · 在SQL中计算分母为0时出错,怎么办
- · 请问Class.forName("...")与Class.forName("...").newInstance()有什么区别~
- · ASP无限级联动树形菜单
- · todo表代表什么啊?
- · IDE的窗体继承的小问题

