IntelliJ idea gui designer + maven
我有一个在GUI设计器的帮助下创建的项目。 这是主要forms的代码。
public class MainForm { MainForm() { directLineOkButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { //some action } } }); crossLineOkButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { //some action }); clearButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { //some action }); cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { //some action }); saveButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { //some action }); } public JPanel getMainPanel() { return mainPanel; } private void createUIComponents() { drawingPanel = new DrawingPanel(); } private JPanel mainPanel; private JComboBox directDirectionCombobox; private JButton directLineOkButton; private JButton crossLineOkButton; private JComboBox crossLineComboBox; private JTextField crossLineSizeValue; private JButton clearButton; private JLabel directLineLabel; private JPanel directLinePanel; private JLabel crossLineLabel; private JPanel crossLinePanel; private JPanel okClearButtonPanel; private JTextField directLineSizeValue; private JButton saveButton; private JPanel drawingPanel; private JButton cancelButton; }
它工作正常。 Jar文件生成很好,这里是pom.xml的代码
4.0.0 DOC DOC 1.0 org.apache.poi poi 3.9 maven-compiler-plugin 2.3.2 1.6 1.6 org.apache.maven.plugins maven-jar-plugin true Main maven-assembly-plugin Main jar-with-dependencies
但是当我尝试运行jar文件时出现了错误。
Exception in thread "main" java.lang.NullPointerException at MainForm.(MainForm.java:14) at Main.main(Main.java:13)
它表明错误发生在创建directLineOkButton侦听器的行。 我在这里创建了一个监听器: http : //www.jetbrains.com/idea/training/demos/GUI_Designer/GUI_Designer.html在构造函数中使用cmd + o。 这是xml表单的代码:
您必须包含ideauidesigner-maven-plugin
:
org.codehaus.mojo ideauidesigner-maven-plugin 1.0-beta-1 javac2 true true true
并且可选 – 如果您使用GridLayoutManager
或JGoodies
– 还包括forms_rt
作为依赖项:
com.intellij forms_rt 7.0.3
使用maven构建项目时遇到了同样的问题。 解决我的问题的方法是将“生成GUI转换为:”的值从“二进制类文件” – >“Java源代码”更改为设置(在项目|设置|编辑器| GUI设计器中找到)。
在动态初始值设定项(带有{{}}的部分)中,您正在访问directLineOkButton
:
directLineOkButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { //some action } } });
但是,该字段尚未分配,因此您将获得NullPointerException。