Eclipse + Java + WindowBuilder 可視化編程__演算法

來源:互聯網
上載者:User

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




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.