当前位置: 首页 > 知识库问答 >
问题:

创建名为“ControllerX”的bean时出错:

简学文
2023-03-14
package com.market;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;




@Controller 
public class Controllerx {

    @Autowired
    private View frame;


/*
    private void init() {
        this.frame.addWindowListener(this);
        registerAction(frame.getbEnter(), new AbstractAction() {
            private List<Funcionarios> list; 

            @Override
            public void action() {
                if (!frame.getjLogin().getText().trim().isEmpty() || !frame.getjPassword().getText().trim().isEmpty()) {

                }else {
                    JOptionPane.showMessageDialog(frame, null, "Campo vázio", JOptionPane.INFORMATION_MESSAGE);
                }
            }

            @Override
            public void posAction() {
                cleanUp();
            }
        });
    }
    */
    public void show() {
        frame.setVisible(true);
    }


}
@SpringBootApplication
@EnableAutoConfiguration
public class Market1Application {

    public static void main(String[] args) {
        ConfigurableApplicationContext context = new SpringApplicationBuilder(Market1Application.class).headless(false).run(args);
        Controllerx appLogin = context.getBean(Controllerx.class);
    }

}
package com.market;

import java.awt.FlowLayout;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

import org.springframework.stereotype.Component;


@Component
public class View extends JFrame{

    private static final int FRAME_WIDTH = 400;
    static final int FRAME_HEIGHT = 350;
    static final int FRAME_X_ORIGIN = 150;
    static final int FRAME_Y_ORIGIN = 150;
    static final int BUTTON_WIDTH = 90;
    static final int BUTTON_HEIGHT = 30;
    private JTextField jLogin;
    private JTextField jPassword;
    private JButton bEnter;
    private JButton bRegister;
    private JPanel loginForm;
    private JLabel loginText;
    private JLabel passwordText;

    public View() {
        setTitle("Login System");
        setSize         (FRAME_WIDTH, FRAME_HEIGHT);
        setLocation     (FRAME_X_ORIGIN, FRAME_Y_ORIGIN);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLayout(new FlowLayout());
        setResizable(false);
        initComponents();
    }
    private void initComponents() {
        loginForm = new JPanel(new GridLayout(3,1));
        //buttons
        bRegister = new JButton("Registrar");
        bRegister.setBounds(195, 285, BUTTON_WIDTH, BUTTON_HEIGHT);
        bEnter = new JButton("Registrar");
        bEnter.setBounds(195, 285, BUTTON_WIDTH, BUTTON_HEIGHT);
        //bEnter.setMnemonic(NativeKeyEvent.VC_ENTER);
        //labels
        loginText = new JLabel();
        loginText.setText("Username:");
        passwordText = new JLabel();
        passwordText.setText("Password:");
        //
        loginForm.add(loginText);
        loginForm.add(jLogin);
        loginForm.add(passwordText);
        loginForm.add(jPassword);
        loginForm.add(bEnter);
        loginForm.add(bRegister);
        setVisible(true);
    }

    public void resetForm() {
        jLogin.setText("");
        jPassword.setText("");
    }
    public JTextField getjLogin() {
        return jLogin;
    }
    public void setjLogin(JTextField jLogin) {
        this.jLogin = jLogin;
    }
    public JTextField getjPassword() {
        return jPassword;
    }
    public void setjPassword(JTextField jPassword) {
        this.jPassword = jPassword;
    }
    public JButton getbEnter() {
        return bEnter;
    }
    public void setbEnter(JButton bEnter) {
        this.bEnter = bEnter;
    }

}

我有这些错误编译,我不知道我哪里错了,我只有这3个类

共有1个答案

金兴朝
2023-03-14

名为jloginjTextField变量为null(它是字段,您没有初始化它),这就是为什么在执行操作时使用NPE的原因

loginForm.add(jLogin);

请查看JPanel类的文档-在Add方法部分中有一个信息

public Component add(Component comp)

抛出:NullPointerException-如果comp为空

原因:java.lang.NullPointerException:null

在java.awt.container.additmpl(未知源)

在java.awt.container.add(未知源)

 类似资料:
  • 我有一个实体类InAppNotification。看起来像这样的java: 我使用JPA来处理数据库查询,这就是JPA接口的定义: 这是我application.properties的样子: 但是,当我试图在构建后通过运行 来打包应用程序时,我会遇到以下问题: 尝试调用不存在的方法。尝试从以下位置进行:javax.el.ELManager.getExpress sionWorks(ELManage

  • 在将project从Spring Boot版本从1.2.3.release迁移到1.3.0.release之后,我已经开始得到以下异常。 创建类路径资源[org/springframework/boot/autoconfigure/admin/springapplicationadminjmxautoconfiguration.class]中定义的名为'Spring ApplicationAdmi

  • 我遵循本教程将消息发送到azure服务队列:https://docs.microsoft.com/en-us/azure/java/spring-framework/configure-spring-boot-starter-java-app-with-azure-service-bus 到我现有的spring boot应用程序,但我得到以下错误: 用户类别: 控制器类: pom xml: 添加它

  • 我试图将弹性搜索集成到spring-boot应用程序中,但我得到了这个*创建名为“client”的bean时出错*异常,不确定是什么地方出了问题,因为我之前找不到任何类似的线索...非常感谢你为大家指路。这是mu elasticsearch配置: 这是我的主要应用程序: 我的pom.xml: 这是te异常跟踪:

  • 我正在尝试在spring boot应用程序中使用SQLite。但是应用程序不能创建下面的bean。 org.springframework.boot.autocigure.orm.jpa.hibernatejaconfiguration 我该怎么办?我在这个站点上搜索了相关的问题,但是找不到一个合适的。 如下所示。 4.0.0 org.springframework.Boot spring-boo

  • 在我的Spring应用程序中,我有这些问题。有人能帮我吗? 我在pom.xml上添加了一些东西,但是应用程序没有启动,有很多错误。 启动应用程序上下文时出错。若要显示条件报告,请在启用“调试”的情况下重新运行应用程序。2019-01-26 14:58:17.003 错误 14580 --- [ 重新启动主屏幕] o.s.boot.Spring 应用程序: 应用程序运行失败