IDEA Swing / GUI Form

swing代码显示方式

显示为java代码:

  File -> settings -> GUI designer,Generate GUI into : Java source code

直接以class形式插入到文件中:

  File -> settings -> GUI designer,Generate GUI into : Binary class files

局部/全局

  在File -> settings 中设置的是当前project的,在File -> other settings -> default setting中设置的是全局变量。无论是局部还是全局设置,都需要再编译一次才会显示/隐藏swing代码。

构造顺序

  通过java代码格式下进行单步调试可以得出结论:在进入构造函数的第一步,就会生成各个控件,例如下述代码中,在第一局globalProperties = inputGlobalProperties;执行之前,各个控件就已经生成了。

 public MainForm(GlobalProperties inputGlobalProperties, SettingForm inputSettingForm) {
        globalProperties = inputGlobalProperties;         //1
        settingForm = inputSettingForm;
        frame = new JFrame("");
        this.propertiesFilePath = globalProperties.getPropertiesFilePath();
        this.iconPath = globalProperties.getIconPath();
        this.startManualImport = globalProperties.getStartManualImport();
 }

用IDEA自带的生成jar方式不会出现错误

MAVEN编译或生成的JAR包运行错误

原因

  由于这些控件是由idea生成的,因此
    1.当控件使用class文件方式创建时,需要用idea自带的生成jar方法才能将控件生成,若直接用maven编译不会报错,但当生成jar时,会由于没有将控件对应的class文件编写的普通的class文件中导致错误,如jar运行时提示找不到控件,或控件为null等;
    2.当控件使用java代码方式生成时,需要引入相应的idea的jar包,若未引入则maven编译报错。

解决方案

  可以参考https://stackoverflow.com/questions/19049253/intellij-idea-gui-designer-maven,目前使用的方式是
    1.首先将控件以java形式写入到源码中;
    2在pom.xml中加入依赖:

    <dependency>
      <groupId>com.intellij</groupId>
      <artifactId>forms_rt</artifactId>
      <version>7.0.3</version>
    </dependency>
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值