您当前的位置:首页 > 互联网教程

java Swing 编写需要用的一些常用组件,求代码~~

发布时间:2025-05-25 00:38:45    发布人:远客网络

java Swing 编写需要用的一些常用组件,求代码~~

一、java Swing 编写需要用的一些常用组件,求代码~~

1、这个看你设计成什么样子,都有不同的需求,代码只能参考一下。

2、package com.hengjun.hjropcs.commons;

3、import javax.swing.ComboBoxModel;

4、import javax.swing.JTextField;

5、import com.hengjun.commons.lang.Func1;

6、import com.hengjun.commons.lang.HJCollectionUtils;

7、import com.hengjun.commons.swing.DimensionUtility;

8、import com.hengjun.commons.swing.HJComboBoxUtils;

9、import com.hengjun.commons.swing.combobox.decorators.SpellComboBoxDecorator;

10、import com.hengjun.commons.ui.DisplayData;

11、import com.hengjun.framework.enums.EDataStatus;

12、import com.hengjun.framework.framework_core.model.BaseModel;

13、import com.hengjun.framework.framework_core.support.constant.MessageConstants;

14、import com.hengjun.hjrop.model.dbmodel.RopRegion;

15、import com.hengjun.hjrop.model.dbmodel.RopStation;

16、import com.hengjun.hjropcs.cache.CacheRegion;

17、import com.hengjun.hjropcs.commons.hjcombobox.Builder;

18、import com.hengjun.hjropcs.commons.hjcombobox.RegionComboBox.CBuilder;

19、import com.hengjun.hjropcs.core.ui.FullSizeComboBoxUI;

20、public class HJCommonCombox extends JComboBox{

21、//批量修改用,=1带拼音搜索,批量修改时第一项插入一个new对象,而不是CommonObject中的对象;

22、//因为点击+-号时可以直接更改index=0项的text即可,效率高

23、 public final static int MULTI_MODIFY_WITH_SPELL=1;

24、 public final static int MULTI_MODIFY_WITHOUT_SPELL=2;

25、//active数据,不带有第一行的empty

26、 public final static int ACTIVE_RECORDS_WITH_SPELL_WITHOUT_EMPTY=3;

27、// public static final int COMBOBOX_MAX_WIDTH= 170;

28、 private boolean isSupportSpell=false;

29、//产生一个新的数据model,第一条数据为new DisplayData(null,"","")

30、 protected List produceNewModelData(List activeViewForMulti){

31、 if(activeViewForMulti==null|| activeViewForMulti.size()==0){

32、 List ret=new ArrayList(activeViewForMulti);

33、 ret.set(0, new DisplayData(null,"",""));

34、 public boolean isSupportSpell(){

35、 public void setSRTDimension(){

36、 this.setMaximumSize(DimensionUtility.SRTDimension);

37、 this.setMinimumSize(DimensionUtility.SRTDimension);

38、 public void setSRTDimension(Dimension dimension){

39、 this.setMaximumSize(dimension);

40、 this.setMinimumSize(dimension);

41、 public void setSupportSpell(boolean isSupportSpell){

42、 this.isSupportSpell= isSupportSpell;

43、*默认创建的是含有所有active数据的下拉框

44、 this.setMaximumSize(DimensionUtility.componentDimension);

45、 this.setMinimumSize(DimensionUtility.componentDimension);

46、 public HJCommonCombox(Builder builder){

47、 List model=getActiveModelData();

48、//如果是批量修改用,基于active数据

49、 model=getActiveMultiModelData();

50、 model= produceNewModelData(model);

51、 model=getAllModelData();//getActiveModelData;

52、 HJComboBoxUtils.showList(this, model,1);

53、 HJComboBoxUtils.showList(this, model);

54、 if(builder.isSupportSpell()){

55、 SpellComboBoxDecorator scb= new SpellComboBoxDecorator(this);

56、 this.setMaximumSize(DimensionUtility.componentDimension);

57、 this.setMinimumSize(DimensionUtility.componentDimension);

58、//根据filter名称和builder,返回List

59、 public List<DisplayData> getListData(String filter,Builder builder){

60、 List model=getFilterActiveModelData(filter);

61、//如果是批量修改用,基于active数据

62、 model=getFilterActiveMultiModelData(filter);

63、 model= produceNewModelData(model);

64、 model=getFilterAllModelData(filter);//getActiveModelData;

65、 if(!HJCollectionUtils.isEmpty(model)){

66、 model=model.subList(1,model.size());

67、// HJComboBoxUtils.showList(this, model);

68、 public HJCommonCombox(String filter,Builder builder){

69、 List model=getFilterActiveModelData(filter);

70、//如果是批量修改用,基于active数据

71、 model=getFilterActiveMultiModelData(filter);

72、 model= produceNewModelData(model);

73、 model=getFilterAllModelData(filter);//getActiveModelData;

74、 HJComboBoxUtils.showList(this, model,1);

75、 HJComboBoxUtils.showList(this, model);

76、 if(builder.isSupportSpell()){

77、 SpellComboBoxDecorator scb= new SpellComboBoxDecorator(this);

78、 this.setMaximumSize(DimensionUtility.componentDimension);

79、 this.setMinimumSize(DimensionUtility.componentDimension);

80、 setUI(new FullSizeComboBoxUI());

81、*@param isSupportSpell is true;表示支持拼音搜索

82、 public HJCommonCombox(boolean isSupportSpell){

83、 this.isSupportSpell=isSupportSpell;

84、 SpellComboBoxDecorator scb= new SpellComboBoxDecorator(this);

85、/**@deprecated请使用 HJCommonCombox(Builder builder)模式

86、*@param isSupportSpell is true;表示支持拼音搜索

87、 public HJCommonCombox(boolean isSupportSpell,boolean isAll){

88、 public void setSelectedItem(Object o){

89、 HJComboBoxUtils.setSelectedItem(o, cm);

90、 public static void allSetEmpty(HJCommonCombox cmbBox){

91、 if(cmbBox.getModel().getSize()>0){

92、 DisplayData dd=(DisplayData) cmbBox.getItemAt(0);

93、 dd.setText(MessageConstants.ALL_SET_EMPTY);

94、 JTextField editor=(JTextField)cmbBox.getEditor().getEditorComponent();

95、 editor.setText(MessageConstants.ALL_SET_EMPTY);

96、 public void setSelectedIndex(int anIndex){

97、 if(getModel().getSize()>0){

98、 super.setSelectedIndex(anIndex);

99、 public static void allSetEmptyReset(HJCommonCombox cmbBox){

100、 if(cmbBox.getModel().getSize()>0){

101、 DisplayData dd=(DisplayData) cmbBox.getItemAt(0);

102、 JTextField editor=(JTextField)cmbBox.getEditor().getEditorComponent();

103、*@param allRecods返回所有的对象

104、*@param allActiveRecords返回所有状态为active的对象

105、*@return不需要返回值,修改传入的2个list即可

106、 public static<T, TResult> void select(Collection<T> collection, Func1<T, TResult> converter,List allRecods,List allActiveRecords){

107、 if(EDataStatus.VALID.getKey()==temp.getDataStatus()){

108、 allActiveRecords.add(converter.func(t));

109、 allRecods.add(converter.func(t));

110、 public static<T, TResult> void select(Collection<T> collection, Func1<T, TResult> converter,List inputRecods){

111、 inputRecods.add(converter.func(t));

112、 public static<T, TResult> void select(Collection<T> collection, Func1<T, TResult> converter,List allRecods,List allActiveRecords,List allActiveRecordsWithMulti){

113、 if(EDataStatus.VALID.getKey()==temp.getDataStatus()){

114、 allActiveRecordsWithMulti.add(a);

115、 protected List<DisplayData> getActiveModelData(){

116、 protected List<DisplayData> getAllModelData(){

117、 protected List<DisplayData> getActiveMultiModelData(){

118、 protected List<DisplayData> getFilterActiveModelData(String filter){

119、 protected List<DisplayData> getFilterAllModelData(String filter){

120、 protected List<DisplayData> getFilterActiveMultiModelData(String filter){

二、java框架有哪些常用框架

1、 SSH框架一般指的是Struts、Spring、Hibernate,后来Struts2代替了Struts。最近5年,Struts2已经被Spring MVC代替,而Hibernate基本也被iBatis/MyBatis代替。所以你真正需要了解的是Spring,Spring你需要了解两个概念AOP和IOC,更进一步就是Spring的核心技术“动态代理”。这里不再多说。

2、 Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

3、 Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

4、 MyBatis本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的 XML或注解用于配置和原始映射,将接口和 Java的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

三、Java中常用的开发工具有哪些

1、Eclipse据数据显示很多Java开发人员的Java开发工具便是Eclipse,这主要得益于Eclipse是一个开源的、可以基于Java的可扩展开发平台。Eclipse本身而言,它只是一个框架和一组服务,但可以通过插件组件构建开发环境。

2、editplus EditPlus是一款由韩国 Sangil Kim(ES-Computing)开发的编辑器,可以作为C,Java,Php等等语言的一个简单的IDE。EditPlus拥有无限制的撤消与重做、英文拼字检查、自动换行、列数标记、搜寻取代、同时编辑多文件、全屏幕浏览功能,也是一款常见的Java开发工具。

3、NetBeans NetBeans提供了功能全面的阵列,如转换器,编辑器和代码分析器,使用这些工具可以帮助我们使用的Java技术实现应用程序。NetBeans工具范围相当广泛,是一款的Java开发工具。

4、Junit Junit是一个可以帮助Java开发人员编写和运行测试的单元测试框架。JUnit和市场上其他类似的框架有着本质的区别。主要表现在你可以一次测试一个代码块,而不需要等待该模块在运行测试前完成。实际上是你可以“先测试,然后写代码”

5、VisualVM VisualVM也是一款使用较多的Java开发工具。它最主要的功能便是可以排查故障,可以使用VisualVM整合多命令行JDK工具。如jvmstat、JMX和Serviceability Agent(SA)中使用VisualVM。VisualVM最出名的是附加了API,以获得更多的数据,以及自动使用更快捷。

6、Gradle Gradle是一个自动化项目工具,是建立在Apache Maven和Apache Ant的功能上。虽然Gradle并不是的构建工具(的是Maven,64%的Java开发人员会选择它),但它的普及速度很快。它同时也可作为默认的Android构建开发工具。

7、SparkJava SparkJava是一款体形轻巧,功能强大的Web应用框架。Spark可以通过一些繁琐的XML配置来使用Spark框架编写应用程序。能让我们花最少的精力来开发Java的Web应用程序。是一款的Java web开发工具。

8、Clover Clover主要用于代码覆盖,可以帮助用于测试应用程序的代码。我们可以在IDE或持续集成系统中运行Clover。能够让测试的运行速度更快。是Java开发测试必不可少的工具之一。