Jbuilder2007如何打开Jbuilder2006的GUI项目程序?

我遇到过的问题,请教csdn 社区、Java学习的朋友 ,现在总结一下情况。初学Java,有误之处,请大家指出。

有一个书本上的Java示范程序,是用Jbuider2006写的,带有GUI的。如下面的图1、图2。

 
 图1 login程序的代码

图2 login程序的GUI设计

如何在Jbuilder2007中打开Jbuilder2006的老项目呢?Jbuilder2007使用了Eclipse内核,在管理项目文件上与Jbuilder2006有很多不同。

1.ant打开

下载了ant1.7,在Jbuilder2006配置好了ant。(什么是ant,请搜索相关文章)

在原本的项目上,点击菜单栏“New->Ant->Export to Ant  然后右键点生成的结点选rebuild.会生成ant脚本.”。在Jbuilder2007中用“从现有的Ant 文件构建java项目”打开。打开成功。如图3.
图3

2.

又或者Jbuilder2007有一个“[新建]->[项目]->[Legacy Jbuilder]->[ Java Project from Existing Jbuilder .jpx Project]->”这样也可以打开旧的Jbuilder项目。效果同上面一样。打开成功。如图3。

Jbuilder2007使用了Eclipse内核,Eclipse开发GUI使用第三方插件,主要的有Visual Editor for Java;WindowBuilder Pro;jigloo。

图4 示范程序运行的情况

图5 在示例程序上,鼠标右键,选择[打开方式]->[可视化编辑器],打开Visual Editor for Java插件编辑器

VE转换示例程序代码的情况不好

图6 用WindowBuilder Pro 6.4.0 for Eclipse3.2插件转换的情况,
    似乎效果比VE好很多,但也不是很好


图7 用jigloo 4.04插件转换的情况,效果较好

 

VE插件在功能上,还不如WindowBuilder Pro 、jigloo 好用。建议使用Eclipse设计GUI时,不要使用VE插件,

而使用WindowBuilder Pro 或者jigloo。

 

插件WindowBuilder Pro 与jigloo 代码转换比较

下面是一个示例代码,在文本编辑器中,手动写的GUI。没有用任何插件“画出”。

 

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

public   class  TestChoice  implements  ItemListener, ActionListener
{
    TextField name;

    CheckboxGroup cg;

    Choice career;

    List city;

    Checkbox[] favorite;

    
public static void main(String args[])
    
{
    
new TestChoice().createUI();
    }


    
public void createUI()
    
{
    Frame f 
= new Frame("注册窗口");
    Panel p 
= new Panel();
    p.setLayout(
new FlowLayout(FlowLayout.LEFT, 11));

    name 
= new TextField(10);
    cg 
= new CheckboxGroup();
    Checkbox sex1 
= new Checkbox("", cg, false);
    Checkbox sex2 
= new Checkbox("", cg, false);
    Panel sp 
= new Panel();
    sp.add(sex1);
    sp.add(sex2);
    career 
= new Choice();
    career.add(
"IT技术人员");
    career.add(
"工商管理");
    career.add(
"教育");
    career.add(
"金融");
    city 
= new List(4false);
    city.add(
"北京");
    city.add(
"上海");
    city.add(
"天津");
    city.add(
"广州");
    city.add(
"太原");
    city.add(
"石家庄");
    city.add(
"哈尔滨");
    city.add(
"三亚");
    city.add(
"威海");

    p.add(
new Label("姓名:"));
    p.add(name);
    p.add(
new Label("性别:"));
    p.add(sp);
    p.add(
new Label("职业:"));
    p.add(career);
    p.add(
new Label("城市:"));
    p.add(city);
    p.add(
new Label("爱好:"));

    String[] sf 
= "旅游""读书""时装""汽车""健美" };
    favorite 
= new Checkbox[sf.length];
    
for (int i = 0; i < sf.length; i++)
    
{
        favorite[i] 
= new Checkbox(sf[i]);
        favorite[i].addItemListener(
this);
        p.add(favorite[i]);
    }

    f.add(p, 
"Center");

    Panel psouth 
= new Panel();
    psouth.setLayout(
new GridLayout(12));
    Button submit 
= new Button("提交");
    Button reset 
= new Button("退出");
    submit.addActionListener(
this);
    reset.addActionListener(
new ActionListener()
    
{
        
public void actionPerformed(ActionEvent e)
        
{
        System.exit(
0);
        }

    }
);
    psouth.add(submit);
    psouth.add(reset);
    f.add(psouth, 
"South");
    f.addWindowListener(
new WindowAdapter()
    
{
        
public void windowClosing(WindowEvent e)
        
{
        System.exit(
0);
        }

    }
);
    f.setSize(
160270);
    f.setLocation(
300100);
    f.setVisible(
true);
    }


    
public void itemStateChanged(ItemEvent e)
    
{
    String s 
= e.getItem().toString();
    
if (e.getStateChange() == ItemEvent.SELECTED)
    
{
        System.out.println(
"您刚选中了项目:" + s);
    }
 else
    
{
        System.out.println(
"您刚取消了项目:" + s);
    }

    }


    
public void actionPerformed(ActionEvent e)
    
{
    
if (e.getActionCommand().equals("提交"))
    
{
        String info 
= "您提交的信息如下:姓名:" + name.getText() + " 性别:"
            
+ cg.getSelectedCheckbox().getLabel() + " 职业:"
            
+ career.getSelectedItem() + " 城市:"
            
+ city.getSelectedItem() + " 爱好:";
        
for (Checkbox f : favorite)
        
{
        info 
+= f.getState() ? (f.getLabel() + "") : "";
        }

        System.out.println(info);
    }

    }

}

图8 示范程序运行的效果

图9 用WindowBuilder Pro 6.4.0 for Eclipse3.2插件转换的情况

图10  用jigloo 4.04插件转换的情况

结论:原本这个带GUI的示例程序是用jbuilder2006写的,在jbuilder2007安装  好jigloo,使用jigloo转换代码效果比  较好。
         如果不是用jbuilder2006写的(如何后面的那个示范程序),WindowBuilder Pro不一定输给jigloo。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值