“线程中的异常”;AWT-EventQueue-0“事件队列”JAVA
当我尝试运行此程序时,出现以下错误消息:“线程中的异常”;AWT-EventQueue-0“事件队列”JAVA,java,swing,variables,exception,exception-handling,Java,Swing,Variables,Exception,Exception Handling,当我尝试运行此程序时,出现以下错误消息: Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at Quiz1.<init>(Quiz1.java:21) at Opening_Screen.jButton1ActionPerformed(Opening_Screen.java:138) at Opening_Screen.access$000(Opening_Screen.java:16) at
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Quiz1.<init>(Quiz1.java:21)
at Opening_Screen.jButton1ActionPerformed(Opening_Screen.java:138)
at Opening_Screen.access$000(Opening_Screen.java:16)
at Opening_Screen$1.actionPerformed(Opening_Screen.java:57)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
线程“AWT-EventQueue-0”java.lang.NullPointerException中的异常
在Quiz1。(Quiz1.java:21)
在打开屏幕时执行jbutton1action(打开屏幕时执行java:138)
在Opening_Screen.access$000(Opening_Screen.java:16)
在Opening_Screen$1.actionPerformed(Opening_Screen.java:57)
在javax.swing.AbstractButton.fireActionPerformed上(AbstractButton.java:2018)
位于javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
在javax.swing.DefaultButtonModel.fireActionPerformed上(DefaultButtonModel.java:402)
在javax.swing.DefaultButtonModel.setPressed中(DefaultButtonModel.java:259)
在javax.swing.plaf.basic.BasicButtonListener.MouseRelease(BasicButtonListener.java:252)
位于java.awt.Component.ProcessMouseeEvent(Component.java:6505)
位于javax.swing.JComponent.ProcessMouseeEvent(JComponent.java:3320)
位于java.awt.Component.processEvent(Component.java:6270)
位于java.awt.Container.processEvent(Container.java:2229)
位于java.awt.Component.dispatchEventImpl(Component.java:4861)
位于java.awt.Container.dispatchEventImpl(Container.java:2287)
位于java.awt.Component.dispatchEvent(Component.java:4687)
位于java.awt.LightweightDispatcher.RetargetMouseeEvent(Container.java:4832)
位于java.awt.LightweightDispatcher.ProcessMouseeEvent(Container.java:4492)
位于java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
位于java.awt.Container.dispatchEventImpl(Container.java:2273)
位于java.awt.Window.dispatchEventImpl(Window.java:2719)
位于java.awt.Component.dispatchEvent(Component.java:4687)
位于java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
在java.awt.EventQueue.access$200(EventQueue.java:103)
位于java.awt.EventQueue$3.run(EventQueue.java:694)
在java.awt.EventQueue$3.run(EventQueue.java:692)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
位于java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
在java.awt.EventQueue$4.run(EventQueue.java:708)
在java.awt.EventQueue$4.run(EventQueue.java:706)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
位于java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
位于java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
在java.awt.EventDispatchThread.PumpeEventsforFilter(EventDispatchThread.java:161)
位于java.awt.EventDispatchThread.PumpeEventsforHierarchy(EventDispatchThread.java:150)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
在java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
由于我对Java非常陌生,我完全不知道这意味着什么,如果有人能告诉我在我的代码中发生了什么,我将非常感激
这是代码
public class Quiz1 extends javax.swing.JFrame {
ArrayList <String> quiz1Answers = new ArrayList();
ArrayList <String> quiz1UserAnswers = new ArrayList();
String q1 = this.txtInputQ1.getText();
String q2 = this.txtInputQ2.getText();
String q3 = this.txtInputQ3.getText();
String q4 = this.txtInputQ4.getText();
String q5 = this.txtInputQ5.getText();
String q6 = this.txtInputQ6.getText();
String q7 = this.txtInputQ7.getText();
String q8 = this.txtInputQ8.getText();
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
JOptionPane.showMessageDialog(null, "This is a practice quize to test what you have learned.", "Instructions", + JOptionPane.INFORMATION_MESSAGE);
JOptionPane.showMessageDialog(null, "<html>To check your answers press the <b><i>'Check'</b></i> button and enter which question to check", "Instructions", + JOptionPane.INFORMATION_MESSAGE);
JOptionPane.showMessageDialog(null, "<html>When completed click the <b><i>'Start Quiz'</b></i> button", "Instructions", + JOptionPane.INFORMATION_MESSAGE);
}
private void txtInputQ6ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
if (q1.equals("") || q2.equals("") || q3.equals("") || q4.equals("") || q5.equals("") || q6.equals("") || q7.equals("") || q8.equals(""))
{
JOptionPane.showMessageDialog(null, "Make sure all fields are filled in!", "Error!", + JOptionPane.ERROR_MESSAGE);
}
else
{
quiz1UserAnswers.add(q1);
quiz1UserAnswers.add(q2);
quiz1UserAnswers.add(q3);
quiz1UserAnswers.add(q4);
quiz1UserAnswers.add(q5);
quiz1UserAnswers.add(q6);
quiz1UserAnswers.add(q7);
quiz1UserAnswers.add(q8);
JOptionPane.showMessageDialog(null, "<html>Press the <b><i>'Check Answer'</b></i> button now!", "", + JOptionPane.INFORMATION_MESSAGE);
}
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
Collections.addAll(quiz1Answers, "ottawa", "toronto", "tokyo", "northamerica", "seoul", "Asia", "unitedstates", "50");
}
public类Quiz1扩展了javax.swing.JFrame{
ArrayList quiz1Answers=新的ArrayList();
ArrayList quiz1UserAnswers=新建ArrayList();
字符串q1=this.txtInputQ1.getText();
字符串q2=this.txtInputQ2.getText();
字符串q3=this.txtInputQ3.getText();
字符串q4=this.txtInputQ4.getText();
字符串q5=this.txtInputQ5.getText();
字符串q6=this.txtInputQ6.getText();
字符串q7=this.txtInputQ7.getText();
字符串q8=this.txtInputQ8.getText();
私有void jButton1ActionPerformed(java.awt.event.ActionEvent evt){
showMessageDialog(null,“这是一个测试您所学内容的练习测验。”、“说明”、+JOptionPane.INFORMATION\u MESSAGE);
showMessageDialog(null,“要检查答案,请按“检查”按钮并输入要检查的问题”、“说明”、+JOptionPane.INFORMATION\u MESSAGE);
JOptionPane.showMessageDialog(空,“完成后单击“开始测验”按钮”、“说明”、+JOptionPane.INFORMATION\u消息);
}
私有void txtInputQ6ActionPerformed(java.awt.event.ActionEvent evt){
//TODO在此处添加您的处理代码:
}
私有void jButton2ActionPerformed(java.awt.event.ActionEvent evt){
如果(q1.equals(“”| | q2.equals(“”| | q3.equals(“”| | q4.equals(“”| | q5.equals(“”| | q6.equals(“”| q7.equals(“”| | q8.equals(“”))
{
showMessageDialog(null,“确保所有字段都已填写!”、“Error!”、+JOptionPane.Error\u消息);
}
其他的
{
quiz1UserAnswers.add(q1);
quiz1UserAnswers.add(q2);
quiz1UserAnswers.add(q3);
quiz1UserAnswers.add(第四季度);
quiz1UserAnswers.add(q5);
quiz1UserAnswers.add(q6);
quiz1UserAnswers.add(q7);
quiz1UserAnswers.add(q8);
JOptionPane.showMessageDialog(null,“立即按“检查答案”按钮!”、“”、+JOptionPane.INFORMATION\u消息);
}
}
私有void jButton3ActionPerformed(java.awt.event.ActionEvent evt){
//TODO在此处添加您的处理代码:
}
私有void jButton4ActionPerformed(java.awt.event.ActionEvent evt){
收藏。addAll(QUIZ1答案,“渥太华”、“多伦多”、“东京”、“北美”、“首尔”、“亚洲”、“美国”、“50”);
}
提前感谢您!我可能会假设您正在尝试在初始化对象之前获取值。请确保在调用
.getText()之前先创建对象txtInputQ1
直到txtInputQ2
;
方法。谷歌搜索空指针Exc