java swing 基础教程2(java swing界面添加小功能)

技术如何浅析Swing项目的开发如何浅析Swing项目的开发,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。由于工作最近接手一个Swing项目,开发周期为一年

如何分析Swing项目的发展,相信很多没有经验的人都不知所措。因此,本文总结了出现问题的原因和解决方法,希望大家可以通过这篇文章来解决这个问题。

由于我最近接手了一个开发周期为一年的Swing项目,这不是一个小项目,我负责这个项目。(* * * *)嘻嘻.我会写下我的开发管理经验,欢迎各位专家前辈批评指正。

项目开发前的准备工作:

答:首先,对于eclispe、netbeans、jb等工具。对于eclipse,我们需要安装一个插件swt-designer。netbeans可以直接开发,sun公司已经为我们做了。需要说的是,eclipse不支持动态布局,但是可以通过将netbeans下的项目导入eclipse来运行。

b:对于Swing项目,没有很好的命名标准,尤其是参与开发的人很多的时候,会很不好。Swing中有很多组件使用起来很麻烦。在这里,我将写一个简单的例子,比如JTextfield Txtfield名称、JTextarea Txtblog等。以便于开发和交流。

c:对于工具的确定,netbeans是接口开发比较好的选择,但是对于后台开发比较弱。这里我选择eclipse作为后台开发,最好是先播放开发程序的jar文件,然后导入到netbeans中。

项目开发的相关设计

对于Swing来说,并没有我们想象的那么容易。例如,我们已经绘制了netbeans中的所有接口。当你打开界面的源文件,你会发现这个文件是巨大的,可能有上万行甚至更多的代码。当您阅读此代码时,您可能会感到不知所措。甚至还有砸电脑的想法。当维修人员看到这个代码时,我们可以想象当时的场景。此外,Swing中有很多复杂的事件,这也是我们开发人员面临的挑战。我们必须翻找几万行代码,有什么好办法解决吗?其实是有的。

事实上,我们的开发是面向组件开发的,然后将所有组件集成在一起就成为了我们需要的软件。当我们发展的时候,一定会遇到这样或那样的。

JPane、JFrom JTable等。我们可以将jPane、jfrom jtable一个接一个地重新组合成自己的组件进行重用。我们将这些组件集成到主窗格中。下面的例子是我用netbeans开发的:

packagesinglepaneimport org . jdesktop . application . action;import org . jdesktop . application . resource map;import org . jdesktop . application . single frame application;import org . jdesktop . application . FrameView;import org . jdesktop . application . TaskMonitor;import Java . awt . event . action event;import Java . awt . event . actionlistener;import javax . swing . timer;import javax . swing . icon;import javax . swing . JDialog;import javax . swing . jframe;import org . fly bird . plat . single jpane;/* * *应用程序的名称。*/public class single paneviewextendsframeview { public single paneview(single frameapplicationapp){ super(app);init components();}/* * this methodcalledfrommingstructorto * initializeform。*警告:禁止修改此代码。内容

bsp;this method is   * always regenerated by the Form Editor.   */  // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() {   mainPanel = new javax.swing.JPanel();  mainPabbedPane = new javax.swing.JTabbedPane();  this.singleJpane = new SingleJpane();  savePanel = new javax.swing.JPanel();   mainPanel.setName("mainPanel"); // NOI18N   mainPabbedPane.setName("mainPabbedPane"); // NOI18N   savePanel.setName("savePanel"); // NOI18N   org.jdesktop.layout.GroupLayout savePanelLayout = new org.jdesktop.layout.GroupLayout(savePanel);  savePanel.setLayout(savePanelLayout);  savePanelLayout.setHorizontalGroup(  savePanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)  .add(0, 371, Short.MAX_VALUE)  );  savePanelLayout.setVerticalGroup(  savePanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)  .add(0, 273, Short.MAX_VALUE)  );   org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(singlepane.SinglePaneApp.class).getContext().getResourceMap(SinglePaneView.class);  mainPabbedPane.addTab(resourceMap.getString("savePanel.TabConstraints.tabTitle"), savePanel); // NOI18N  mainPabbedPane.addTab("single", this.singleJpane);   org.jdesktop.layout.GroupLayout mainPanelLayout = new org.jdesktop.layout.GroupLayout(mainPanel);  mainPanel.setLayout(mainPanelLayout);  mainPanelLayout.setHorizontalGroup(  mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)  .add(mainPanelLayout.createSequentialGroup()  .add(mainPabbedPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 376, Short.MAX_VALUE)  .add(24, 24, 24))  );  mainPanelLayout.setVerticalGroup(  mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)  .add(org.jdesktop.layout.GroupLayout.TRAILING, mainPanelLayout.createSequentialGroup()  .add(20, 20, 20)  .add(mainPabbedPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 300, Short.MAX_VALUE))  );   setComponent(mainPanel);  }// </editor-fold>  // Variables declaration - do not modify   private javax.swing.JTabbedPane mainPabbedPane;  private javax.swing.JPanel mainPanel;  private javax.swing.JPanel savePanel;  // End of variables declaration   private SingleJpane singleJpane;   }

看完上述内容,你们掌握如何浅析Swing项目的开发的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/151904.html

(0)

相关推荐

  • Python全栈推导式和生成器怎么实现

    技术Python全栈推导式和生成器怎么实现本篇内容主要讲解“Python全栈推导式和生成器怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python全栈推导式和生成器

    攻略 2021年12月2日
  • 如何在RStudio中创建C++文件

    技术如何在RStudio中创建C++文件这篇文章主要介绍了如何在RStudio中创建C++文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在RStudi

    攻略 2021年11月6日
  • java常见分布式事务理论怎么解决

    技术java常见分布式事务理论怎么解决本篇内容介绍了“java常见分布式事务理论怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,

    攻略 2021年11月29日
  • 抖音上怎么快速涨粉,抖音怎么才能快速获得粉丝

    技术抖音上怎么快速涨粉,抖音怎么才能快速获得粉丝我们后来认为它是一个概率问题,而概率本身又是一个数学问题,那么在一定条件下你只要把这些事情量化就可以做优化。既然可以优化,那就可以规模化。
    于是我们就去把不同的视频在不同的

    测评 2021年10月26日
  • HYS商务UI标签的渲染逻辑是什么?

    技术Hybris CommerceUI tag的渲染逻辑是什么这篇文章主要介绍“Hybris CommerceUI tag的渲染逻辑是什么”,在日常操作中,相信很多人在Hybris CommerceUI tag的渲染逻辑

    攻略 2021年12月24日
  • iOS如何实现应用退出场景

    技术iOS如何实现应用退出场景这篇文章主要介绍了iOS如何实现应用退出场景,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。场景描述:应用处于运行状态(即Ac

    攻略 2021年10月21日