Quantcast
Channel: OKWAVE 閲覧数の多い質問(Java/253)【本日】
Viewing all articles
Browse latest Browse all 68675

javaGUIインスタント変数とローカル変数

$
0
0
過去質問で、「javaで起こったバグ?!」という質問をした者です。 親切な回答者の方々のおかげで、理解することが出来ました。 あのとき質問に答えてくださった回答者の方々本当にありがとうございます。 本題に戻ります。 この↓プログラムなんですが、インスタント変数pとJPanel p;で定義した、ローカル変数(おそらく。別の変数だよ、という意見がありましたら、ご指摘ください)は別物で、デバッグを行ったらローカルのp の中身は、null(何も入ってない)といわれてしまいました。 プログラム↓ import java.awt.*; import javax.swing.*; import java.awt.event.*; public class Sukejuru extends JFrame implements ActionListener { JPanel p; public static void main(String args[]) { Sukejuru ske = new Sukejuru(); ske.setBounds(200,200,600,300);//大きさ&ウィンドウの位置 ske.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//クローズ ske.setVisible(true); } Sukejuru() { super("Myスケジュール"); JPanel p = new JPanel(); p.setBackground(Color.green); add(p); JButton b1 = new JButton("一月"); b1.addActionListener(this); b1.setActionCommand("b1"); p.add(b1); JButton b2 = new JButton("二月"); b2.addActionListener(this); b2.setActionCommand("b2"); p.add(b2); JButton b3 = new JButton("三月"); b3.addActionListener(this); b3.setActionCommand("b3"); p.add(b3); } public void actionPerformed(ActionEvent e) { JTable table = new JTable(5,5); JScrollPane sp = new JScrollPane(table); p.add(sp); } } ボタンを押してもJTableは、現れません。押すとコマンドプロンプトでは次のようなエラー?が出ます。↓ Exception in thread"AWT-EventQueue-0"java.langNullPointerException JPanel p(インスタント変数p)にコンポーネント(ローカル変数p)を貼り付けるには、どう記述すればいいのでしょうか?

Viewing all articles
Browse latest Browse all 68675

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>