Eclipse + Java + WindowBuilder 可视化编程

来源:互联网 发布:淘宝店如何关闭 编辑:程序博客网 时间:2024/05/21 09:29

Eclipse真是个好东西,你可以在上面编写各种各样的语言,但是一个致命的问题是界面设计。

当然你可以用代码手打界面,但是可惜我被VS和Xcode惯坏了,一定要用可视化编程环境,于是就要往Eclipse里装一些可视化的插件。

对于编写Java程序,我选择了WindowBuilder,一个可以开发SWT和Swing的GUI插件。


安装教程:http://blog.csdn.net/aminfo/article/details/7731189,可以选在线下载安装包或者在线安装。

使用教程:http://wenku.baidu.com/view/9d71a809b52acfc789ebc9ba.html,介绍了怎么新建一个包含可视化界面的Java Project。


WindowBuilder提供了很多很多的插件,也包含Swing和SWT,大家喜欢用什么看个人喜好了,网上也有很多关于它们的对比,不知说什么= =

我还是比较喜欢用Swing,跨平台性能好。Swing一般都是J开头的控件,比如Jbutton之类的。

以后应该还会写一些关于各个控件的使用那个方法之类的文。


下图是在mac下eclipse的可视化界面:

左下角source/design可以切换代码和可视化界面




以下是生成的代码,代码非常简洁易懂:

package com.OM.testJavaWB;import java.awt.EventQueue;import javax.swing.JFrame;import javax.swing.JButton;import java.awt.BorderLayout;import javax.swing.SwingConstants;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.JPanel;import javax.swing.JLabel;import javax.swing.JComboBox;import javax.swing.JList;import javax.swing.border.LineBorder;import java.awt.Color;public class MyFrame{private JFrameframe;private MySecondFrameframe2= new MySecondFrame();/** * Launch the application. */public static void main(String[] args){EventQueue.invokeLater(new Runnable(){public void run(){try{MyFrame window = new MyFrame();window.frame.setVisible(true);} catch (Exception e){e.printStackTrace();}}});}/** * Create the application. */public MyFrame(){initialize();}/** * Initialize the contents of the frame. */private void initialize(){frame = new JFrame();frame.setBounds(100, 100, 450, 300);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.getContentPane().setLayout(new BorderLayout(0, 0));JPanel panel = new JPanel();panel.setBorder(new LineBorder(new Color(0, 0, 0)));frame.getContentPane().add(panel, BorderLayout.WEST);panel.setLayout(new BorderLayout(0, 0));JButton btnNewButton = new JButton("TOP BUTTON");panel.add(btnNewButton, BorderLayout.NORTH);final JLabel labelShow = new JLabel("");labelShow.setHorizontalAlignment(SwingConstants.CENTER);panel.add(labelShow, BorderLayout.CENTER);JLabel lblDown = new JLabel("DOWN");lblDown.setHorizontalAlignment(SwingConstants.CENTER);panel.add(lblDown, BorderLayout.SOUTH);JLabel lblLeft = new JLabel("LEFT");lblLeft.setHorizontalAlignment(SwingConstants.CENTER);panel.add(lblLeft, BorderLayout.WEST);JLabel lblRight = new JLabel("RIGHT");lblRight.setHorizontalAlignment(SwingConstants.CENTER);panel.add(lblRight, BorderLayout.EAST);JLabel labelTitle = new JLabel("Test Window Builder");labelTitle.setHorizontalAlignment(SwingConstants.CENTER);frame.getContentPane().add(labelTitle, BorderLayout.NORTH);JComboBox comboBox = new JComboBox();frame.getContentPane().add(comboBox, BorderLayout.CENTER);JLabel lblRight_1 = new JLabel("RIGHT");frame.getContentPane().add(lblRight_1, BorderLayout.EAST);JLabel lblByOldMe = new JLabel("By Old Me Mory");lblByOldMe.setHorizontalAlignment(SwingConstants.RIGHT);frame.getContentPane().add(lblByOldMe, BorderLayout.SOUTH);btnNewButton.addMouseListener(new MouseAdapter(){@Overridepublic void mouseClicked(MouseEvent e){labelShow.setText("click button");frame2.show();frame2.frame.setVisible(true);}});}}


这是生成jar文件在mac osx下运行的界面:




这是同样的jar文件在win7下运行的界面:




0 0
原创粉丝点击