我正在创建一个简单的数独游戏。由于这是我的第一个“大”,我想自己做所有事情(没有我通常用来制作GUI的NetBeans界面设计器)。因此,对于GUI,我创建了一个扩展JApplet的类,并在paint()方法中绘制了一个简单的数独字段。
现在我需要制作81个文本字段,每个字段将包含1个数字。我如何将它们放在屏幕上?另外,我正在考虑制作一个数组,这样我就可以用一个for循环来改变字段的enitre矩阵。
答案 0 :(得分:6)
建议:
paint
方法中绘制,例如JApplet,JFrame,JDialog等。paintComponent(...)
方法覆盖中执行此操作,例如JPanel或JComponent本身。init()
方法中,将我的Sudoku JPanel添加到JApplet的contentPane中。这样,如果我想在JFrame中显示我的应用程序,我需要做的就是创建另一个创建JFrame的小类并将我的Sudoku JPanel添加到JFrame的contentPane中,然后调用pack()
在JFrame上,然后是setVisible(true)
。关于如何将JPanel添加到JApplet的问题,教程将再次向您展示如何执行此操作。如果您尚未链接到教程的大索引,则需要执行此操作:The Really Big Index。
一个非常简单的例子如下:
import java.lang.reflect.InvocationTargetException;
import javax.swing.*;
public class MyApplet extends JApplet {
@Override
public void init() {
try {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
getContentPane().add(new MyJPanel());
}
});
} catch (InterruptedException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}