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下啟動並執行介面: