Devamat:
私は、Javaとのシンプルな電卓を作成しようとしています。その目的のために、私はJButtonの配列を作成したとのJPanelにそれを追加しました。
問題:ボタンが表示されません。
私はまた、テストのための単一のJLabelと単一のJButtonを追加し、彼らが正しく表示します。
コード:
package test;
import java.awt.BorderLayout;
import javax.swing.*;
public class Test {
JLabel testLabel = new JLabel("Test label", SwingConstants.CENTER);
JButton testButton = new JButton("Test button");
JButton buttons[];
Test() {
JFrame frame = new JFrame("Calculator");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
for (int i = 0; i > 15; i++) {
buttons[i] = new JButton(Integer.toString(i));
panel.add(buttons[i], BorderLayout.CENTER);
}
panel.add(testButton, BorderLayout.CENTER);
panel.add(testLabel, BorderLayout.CENTER);
frame.setSize(500, 500);
frame.add(panel, BorderLayout.CENTER);
frame.setVisible(true);
}
public static void main(String[] args) {
Test cTest = new Test();
}
}
何が私が間違っているのでしょうか?
am9417:
問題は、ループのためのあなたの条件が無効であることです。交換してください>と<:文0> 15に評価されることはありませんんにtrue
あなたのループが反復を開始したことがない理由です。
for(int i = 0; i < 15; i++)
また、あなたが持つ配列を作成する必要がありnew
、あなたがそれにアイテムを割り当てる前にキーワードを。そうしないと、取得しますNullPointerException
。
buttons = new JButton[15];