java swing单选按钮 – java.lang.NullPointerException
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java swing单选按钮 – java.lang.NullPointerException,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2215字,纯文字阅读大概需要4分钟。
内容图文
![java swing单选按钮 – java.lang.NullPointerException](/upload/InfoBanner/zyjiaocheng/749/c5cd5cf2a4f54c4785d1712e07b7d6bf.jpg)
我正试图掌握java swing并测试单选按钮.我的代码是:
import java.awt.*;
import javax.swing.*;
import javax.swing.ButtonGroup;
public class Scafhome extends javax.swing.JFrame {
private JRadioButton bandButton;
private JRadioButton gelButton;
private JButton jbtnRun;
public Scafhome() {
JFrame jfrm = new JFrame("Scaffold search ...");
jfrm.setLayout (new GridLayout(8,2));
jfrm.setSize(320,220);
jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JRadioButton bandButton = new JRadioButton();
bandButton.setText("Band-id");
bandButton.setSelected(true);
JRadioButton gelButton = new JRadioButton();
gelButton.setText("Gelc-ms");
ButtonGroup group = new ButtonGroup();
group.add(bandButton);
group.add(gelButton);
JButton jbtnRun = new JButton("RUN");
jbtnRun.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
RunActionPerformed(evt);
}
});
jfrm.add(bandButton);
jfrm.add(gelButton);
jfrm.add(jbtnRun);
jfrm.setVisible(true);
}
private void RunActionPerformed(java.awt.event.ActionEvent evt) {
String radioText="";
if (bandButton.isSelected()) {
radioText=bandButton.getText();
}
if (gelButton.isSelected()) {
radioText=gelButton.getText();
}
javax.swing.JOptionPane.showMessageDialog( Scafhome.this, radioText );
}
public static void main(String args[]) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new Scafhome();
}
});
}
}
不幸的是我收到以下错误消息:
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at Scafhome.RunActionPerformed(Scafhome.java:50)
这是在:
“if(bandButton.isSelected()){”
我认为’bandButton’已被创建并标记为“已选中” – 或者我误解了某些内容?
非常感谢,
卷曲.
解决方法:
你正在影响bandButton变量 – 你在构造函数中重新声明它并初始化本地重新声明的变量,而不是类字段使类字段为null.解决方案 – 不要重新声明变量.
要明确,改变这个:
public class Scafhome extends javax.swing.JFrame {
private JRadioButton bandButton;
//...
public Scafhome() {
//...
// re-declared variable!
JRadioButton bandButton = new JRadioButton();
对此:
public class Scafhome extends javax.swing.JFrame {
private JRadioButton bandButton;
//...
public Scafhome() {
//...
// variable not re-declared
bandButton = new JRadioButton();
请注意,您正在为您在类中声明的所有三个变量执行此操作.
内容总结
以上是互联网集市为您收集整理的java swing单选按钮 – java.lang.NullPointerException全部内容,希望文章能够帮你解决java swing单选按钮 – java.lang.NullPointerException所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。