日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
淺析Swing項目的開發(fā)

關(guān)于Swing項目開發(fā)淺論

站在用戶的角度思考問題,與客戶深入溝通,找到揚(yáng)中網(wǎng)站設(shè)計與揚(yáng)中網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗(yàn)好的作品,建站類型包括:做網(wǎng)站、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名申請、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋揚(yáng)中地區(qū)。

由于工作最近接手一個Swing項目,開發(fā)周期為一年,也算是不大不小的項目,而且項目由我來負(fù)責(zé),(*^__^*) 嘻嘻……,我將我開發(fā)與管理的心得寫下,歡迎各位高手和前輩批評指正。
項目開發(fā)前的準(zhǔn)備:

a:首先對工具的現(xiàn)在,eclispe,netbeans,jb等,對于eclipse我們需要裝一個插件swt-designer ,netbeans可以直接開發(fā),sun公司為我們做好了,需要說的是eclipse不支持動態(tài)布局,但是將netbeans下的項目import到 eclipse下是可以運(yùn)行的。

b:對于Swing項目來說,沒有一個好的命名規(guī)范,特別是在多人參加開發(fā),那將是很槽糕的,Swing中有大量的組件用起來也很麻煩,這里我寫一個簡單例子,比如,JTextField txtFieldName, JTextArea txtBlog,等,這樣可以便于開發(fā)和交流。

c:對于工具的確定,netbeans做界面的開發(fā)比較好的選擇但是對于后臺的開發(fā)就顯弱勢了。在這里我選擇eclipse作后臺開發(fā),***將開發(fā)好的程序打jar文件***再導(dǎo)入netbeans中。

項目開發(fā)的相關(guān)設(shè)計

對于Swing做界面來說,并不是我們想象的那么容易,比如說我們在netbeans中畫好了所有的界面,在你打開界面的源文件時你會發(fā)現(xiàn)這個文件很龐大,可能有上萬行代碼或者更多,當(dāng)你讀這個代碼時也許會感覺茫然的哦。甚至有砸電腦的想法,當(dāng)維護(hù)的人員看到這樣的代碼,我們是可以想象當(dāng)時的情景,還有,在Swing中也有很多復(fù)雜的事件,對我們開發(fā)人員的本身也是一種挑戰(zhàn),我們必須在上萬行代碼中翻來找去,有沒有什么好的辦法來解決了。其實(shí)是有的。

我們開發(fā)其實(shí)是面對組件開發(fā),然后將各個組件綜合在一起就成了我們所需要的軟件,當(dāng)我們開發(fā)中肯定會遇到這樣或者那樣的
JPane ,JFrom JTable等,我們可以將一個個的jpane,jfrom jtable 重新組合中我們自己的組件以便復(fù)用,***我們再這些組件綜合在主要的Pane中下面的例子是我用netbeans開發(fā)的:

 
 
 
  1. package singlepane;
  2. import org.jdesktop.application.Action;
  3. import org.jdesktop.application.ResourceMap;
  4. import org.jdesktop.application.SingleFrameApplication;
  5. import org.jdesktop.application.FrameView;
  6. import org.jdesktop.application.TaskMonitor;
  7. import java.awt.event.ActionEvent;
  8. import java.awt.event.ActionListener;
  9. import javax.swing.Timer;
  10. import javax.swing.Icon;
  11. import javax.swing.JDialog;
  12. import javax.swing.JFrame;
  13. import org.flybird.plat.SingleJpane;
  14. /**
  15. * The application's main frame.
  16. */
  17. public class SinglePaneView extends FrameView
  18. {
  19. public SinglePaneView(SingleFrameApplication app) {
  20. super(app);
  21. initComponents();
  22. }
  23. /** This method is called from within the constructor to
  24.  * initialize the form.
  25.  * WARNING: Do NOT modify this code. The content of this method is
  26.  * always regenerated by the Form Editor.
  27.  */
  28. //  defaultstate="collapsed" desc="Generated Code">
  29. private void initComponents() {
  30. mainPanel = new javax.swing.JPanel();
  31. mainPabbedPane = new javax.swing.JTabbedPane();
  32. this.singleJpane = new SingleJpane();
  33. savePanel = new javax.swing.JPanel();
  34. mainPanel.setName("mainPanel"); // NOI18N
  35. mainPabbedPane.setName("mainPabbedPane"); // NOI18N
  36. savePanel.setName("savePanel"); // NOI18N
  37. org.jdesktop.layout.GroupLayout savePanelLayout = new org.jdesktop.layout.GroupLayout(savePanel);
  38. savePanel.setLayout(savePanelLayout);
  39. savePanelLayout.setHorizontalGroup(
  40. savePanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
  41. .add(0, 371, Short.MAX_VALUE)
  42. );
  43. savePanelLayout.setVerticalGroup(
  44. savePanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
  45. .add(0, 273, Short.MAX_VALUE)
  46. );
  47. org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(singlepane.SinglePaneApp.class).getContext().getResourceMap(SinglePaneView.class);
  48. mainPabbedPane.addTab(resourceMap.getString("savePanel.TabConstraints.tabTitle"), savePanel); // NOI18N
  49. mainPabbedPane.addTab("single", this.singleJpane);
  50. org.jdesktop.layout.GroupLayout mainPanelLayout = new org.jdesktop.layout.GroupLayout(mainPanel);
  51. mainPanel.setLayout(mainPanelLayout);
  52. mainPanelLayout.setHorizontalGroup(
  53. mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
  54. .add(mainPanelLayout.createSequentialGroup()
  55. .add(mainPabbedPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 376, Short.MAX_VALUE)
  56. .add(24, 24, 24))
  57. );
  58. mainPanelLayout.setVerticalGroup(
  59. mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
  60. .add(org.jdesktop.layout.GroupLayout.TRAILING, mainPanelLayout.createSequentialGroup()
  61. .add(20, 20, 20)
  62. .add(mainPabbedPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 300, Short.MAX_VALUE))
  63. );
  64. setComponent(mainPanel);
  65. }// 
  66. // Variables declaration - do not modify 
  67. private javax.swing.JTabbedPane mainPabbedPane;
  68. private javax.swing.JPanel mainPanel;
  69. private javax.swing.JPanel savePanel;
  70. // End of variables declaration 
  71. private SingleJpane singleJpane;

標(biāo)題名稱:淺析Swing項目的開發(fā)
URL網(wǎng)址:http://www.dlmjj.cn/article/cdgooco.html