スレッド「AWT-EventQueue-0」java.lang.NullPointerExceptionで例外が発生しているという実行時エラーが発生し続けます[行65]ですが、私には基本的なifステートメントのように見えます。私はいくつかの背景を与えることができます。このフレームは一連のフレームから呼び出され、州が選択されると、州 AC 都市を含む新しいフレームに送信されます。この現在のフレームは、アラバマ州が選択されていない場合にのみ機能します。(私は他の状態の他のフレームを作成していないため、コメントアウトされています) 誰かがそれを必要とする場合に呼び出すはずの他のフレームにコードを配置できますが、これは開始するのに多くのコードであると考えましたと。みなさん、助けてくれてありがとう。
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.*;
import java.io.*;
import java.util.*;
public class WetBulbByLocationFrameStates3 extends JFrame
{
public JLabel stateLabel;
public JPanel statePanel = new JPanel();
public JComboBox stateBox;
public String [] unitedStates = {"Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado", "Connecticut", "Delaware", "District of Columbia", "Florida", "Georgia", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana", "Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota", "Mississippi", "Missouri", "Montana", "Nebraska", "Nevada", "New Hampshire", "New Jersey", "New Mexico", "New York", "North Carolina", "North Dakota", "Ohio", "Oklahoma", "Oregon", "Pennsylvania", "Rhode Island", "South Carolina", "South Dakota", "South Pacific Islands", "Tennessee", "Texas", "Utah", "Vermont", "Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming"};
public String [] canadianProvinces = {"Alberta", "British Columbia", "Manitoba", "New Brunswick", "Newfoundland and Labrador", "Northwest Territories", "Nova Scotia", "Nunavut", "Ontario", "Prince Edward Island", "Quebec", "Saskatchewan", "Yukon Territory"};
public JButton nextButton = new JButton("Next");
public JPanel buttonPanel = new JPanel();
public String state;
public String countryGIVEN;
public WetBulbByLocationFrameStates3(String country)
{
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension dimensions = toolkit.getScreenSize();
int x = (dimensions.width - 315)/2;
int y = (dimensions.height - 250)/2;
setBounds(x, y, 315, 250);
setVisible(true);
setResizable(false);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
countryGIVEN = country;
nextButton.addActionListener(new ButtonListener3());
if (country.equals("United States of America"))
{
stateBox = new JComboBox(unitedStates);
setTitle("Select State");
stateLabel = new JLabel("State");
}
else if (country.equals("Canada"))
{
stateBox = new JComboBox(canadianProvinces);
setTitle("Select Province");
stateLabel = new JLabel("Province");
}
stateBox.addActionListener(new ComboBoxListener2());
statePanel.add(stateLabel);
statePanel.add(stateBox);
add(statePanel, BorderLayout.CENTER);
buttonPanel.add(nextButton);
add(buttonPanel, BorderLayout.SOUTH);
}
private class ButtonListener3 implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e)
{
if (countryGIVEN.equals("United States of America"))
{
if (state.equals("Alabama"))
{
JFrame wbfs1 = new WetBulbByLocationFrameStateGroupA_C(state);
}
else if (state.equals("Alaska"))
{
JFrame wbfs2 = new WetBulbByLocationFrameStateGroupA_C(state);
}
else if (state.equals("Arizona"))
{
JFrame wbfs3 = new WetBulbByLocationFrameStateGroupA_C(state);
}
else if (state.equals("Arkansas"))
{
JFrame wbfs4 = new WetBulbByLocationFrameStateGroupA_C(state);
}
else if (state.equals("California"))
{
JFrame wbfs5 = new WetBulbByLocationFrameStateGroupA_C(state);
}
else if (state.equals("Colorado"))
{
JFrame wbfs6 = new WetBulbByLocationFrameStateGroupA_C(state);
}
else if (state.equals("Connecticut"))
{
JFrame wbfs7 = new WetBulbByLocationFrameStateGroupA_C(state);
}
}
}
}
private class ComboBoxListener2 implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e)
{
state = (String)stateBox.getSelectedItem();
}
}
}
PS アラバマを選択したときのエラーは次のとおりです。
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at WetBulbByLocationFrameStates3$ButtonListener3.actionPerformed(WetBulbByLocationFrameStates3.java:65)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)