Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 634|回复: 0

关于java按钮的点击事件报空指针异常

[复制链接]

该用户从未签到

发表于 2014-9-14 15:55:10 | 显示全部楼层 |阅读模式
5Java金币
小弟初学java,很多都不懂,希望大神看到这个能告诉我是怎么回事。

我写了差不多有10个这样带JButton按钮的简单GUI界面程序,但是每一个都跑不起来,全是报空指针异常。

这是其中一个源代码程序,基本上我写的每个带点击事件的都是这种,差不多的问题。

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.BorderLayout;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JRadioButton;
import javax.swing.ButtonGroup;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JPanel;
import javax.swing.JComponent;
import javax.swing.border.EmptyBorder;


public class StringConvert extends JFrame {

        private JPanel contentPane;
        private JTextField textField;
        private JTextField textField_1;
        private final ButtonGroup buttonGroup = new ButtonGroup();
        private JPanel panel;
        /**
         * Launch the application.
         */
        public static void main(String[] args) {
                EventQueue.invokeLater(new Runnable() {
                        public void run() {
                                try {
                                        StringConvert frame = new StringConvert();
                                        frame.setVisible(true);
                                } catch (Exception e) {
                                        e.printStackTrace();
                                }
                        }
                });
        }

        /**
         * Create the frame.
         */
        public StringConvert() {
                setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                setBounds(100, 100, 450, 300);
                contentPane = new JPanel();
                contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
                contentPane.setLayout(new BorderLayout(0, 0));
                setContentPane(contentPane);
               
                JPanel panel = new JPanel();
                contentPane.add(panel, BorderLayout.CENTER);
                panel.setLayout(null);
               
                textField = new JTextField();
                textField.setBounds(0, 45, 440, 28);
                panel.add(textField);
                textField.setColumns(10);
               
                textField_1 = new JTextField();
                textField_1.setEditable(false);
                textField_1.setBounds(0, 205, 440, 28);
                panel.add(textField_1);
                textField_1.setColumns(10);
               
                JRadioButton rdbtnUppercase = new JRadioButton("UpperCase");
                rdbtnUppercase.setBounds(225, 109, 99, 23);
                buttonGroup.add(rdbtnUppercase);
                panel.add(rdbtnUppercase);
               
                JRadioButton rdbtnLowercase = new JRadioButton("LowerCase");
                rdbtnLowercase.setBounds(322, 109, 99, 23);
                buttonGroup.add(rdbtnLowercase);
                panel.add(rdbtnLowercase);
               
                JButton btnConvert = new JButton("Convert");
                btnConvert.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                do_button_actionPerformed(arg0);
            }
        });
                btnConvert.setBounds(0, 108, 117, 29);
                panel.add(btnConvert);
               
                JLabel lblInputText = new JLabel("Input Text:");
                lblInputText.setBounds(6, 18, 69, 16);
                panel.add(lblInputText);
               
                JLabel lblOutputText = new JLabel("Output Text:");
                lblOutputText.setBounds(6, 177, 86, 16);
                panel.add(lblOutputText);
        }
        private void do_button_actionPerformed(ActionEvent e) {
                String command = buttonGroup.getSelection().getActionCommand();
                boolean upper = command.equals("UpperCase");
                String text = textField.getText();               
                if(upper) {
                        textField_1.setText(text.toUpperCase());
                }
                else {
                        textField_1.setText(text.toLowerCase());
                }
        }
}


异常是这样写的:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at StringConvert.do_button_actionPerformed(StringConvert.java:95)
        at StringConvert.access$0(StringConvert.java:93)

        at StringConvert$2.actionPerformed(StringConvert.java:79)





最佳答案

查看完整内容

空指针一般是没有实例化 也就new关键字没调用 。
回复

使用道具 举报

  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2014-9-14 15:55:11 | 显示全部楼层
    空指针一般是没有实例化 也就new关键字没调用 。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-4-23 22:09 , Processed in 0.433552 second(s), 47 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表