浅析Swing项目的开发

关于Swing项目开发浅论

站在用户的角度思考问题,与客户深入沟通,找到扬中网站设计与扬中网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:做网站、成都网站制作、企业官网、英文网站、手机端网站、网站推广、域名申请、虚拟空间、企业邮箱。业务覆盖扬中地区。

由于工作最近接手一个Swing项目,开发周期为一年,也算是不大不小的项目,而且项目由我来负责,(*^__^*) 嘻嘻……,我将我开发与管理的心得写下,欢迎各位高手和前辈批评指正。
项目开发前的准备:

a:首先对工具的现在,eclispe,netbeans,jb等,对于eclipse我们需要装一个插件swt-designer ,netbeans可以直接开发,sun公司为我们做好了,需要说的是eclipse不支持动态布局,但是将netbeans下的项目import到 eclipse下是可以运行的。

b:对于Swing项目来说,没有一个好的命名规范,特别是在多人参加开发,那将是很槽糕的,Swing中有大量的组件用起来也很麻烦,这里我写一个简单例子,比如,JTextField txtFieldName, JTextArea txtBlog,等,这样可以便于开发和交流。

c:对于工具的确定,netbeans做界面的开发比较好的选择但是对于后台的开发就显弱势了。在这里我选择eclipse作后台开发,***将开发好的程序打jar文件***再导入netbeans中。

项目开发的相关设计

对于Swing做界面来说,并不是我们想象的那么容易,比如说我们在netbeans中画好了所有的界面,在你打开界面的源文件时你会发现这个文件很庞大,可能有上万行代码或者更多,当你读这个代码时也许会感觉茫然的哦。甚至有砸电脑的想法,当维护的人员看到这样的代码,我们是可以想象当时的情景,还有,在Swing中也有很多复杂的事件,对我们开发人员的本身也是一种挑战,我们必须在上万行代码中翻来找去,有没有什么好的办法来解决了。其实是有的。

我们开发其实是面对组件开发,然后将各个组件综合在一起就成了我们所需要的软件,当我们开发中肯定会遇到这样或者那样的
JPane ,JFrom JTable等,我们可以将一个个的jpane,jfrom jtable 重新组合中我们自己的组件以便复用,***我们再这些组件综合在主要的Pane中下面的例子是我用netbeans开发的:

 
 
 
  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;

网站题目:浅析Swing项目的开发
网站网址:http://www.mswzjz.cn/qtweb/news49/279949.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能