我不确定我到底做错了什么,我想创建一个网格布局 使用 Jbutton 数组,但是它给了我一个“空指针异常”。不能 似乎找到了如何将 JButtons 放置在面板上的确切方法。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class GridLayout extends JFrame
{
private final int HEIGHT = 200;
private JPanel panel;
private final int WIDTH = 200;
public GridLayout ()
{
setTitle( " try this");
setSize( HEIGHT, WIDTH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new FlowLayout());
JButton [] but = new JButton [9];
for(int i = 0; i < 9; i++ )
{
but[i]=new JButton();
}
for ( int i = 0; i < 9;i++)
{
panel.add(but[i]);
}
setVisible(true);
}
public static void main(String[] arg)
{
new FlowWindow();
}
}
最佳答案
在哪里为面板变量创建 JPanel 对象?
回答:你不知道。所以改变这个:
private JPanel panel;
为此:
private JPanel panel = new JPanel();
更重要的是,您需要了解如何调试 NPE(NullPointerException)的一般概念。您应该仔细检查抛出它的那一行,找出哪个变量为空,然后回溯到您的代码中以查看原因。你会一次又一次地遇到这些,相信我。
顺便说一句:不要给您的类起与重要的核心 Java 类相同的名称。例如,通过将您的类命名为 GridLayout,如果不完全指定类名,您现在将无法使用 java.awt.GridLayout 类。因此,您需要将类名更改为其他名称,比如 MyGridLayout
。
关于java - 将一组文本按钮添加到网格布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22572523/