我正在使用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();
}
}
我做错了什么?
JPanel
的默认布局管理器是FlowLayout
而不是BorderLayout
。 - ArnaudBorderLayout
,您仍然只会看到最后一个组件,因为所有组件都是使用BorderLayout.CENTER
添加的。 - user85421