我正在做这个任务,制作一个解决数独的程序.我有一个带有SudokuTextBox网格的面板,扩展了JFormattedTextField.我有一个MaskFormatter,因此每个文本框只接受一个整数.然后在我的面板中,当密钥被释放时,我有这个代码.
public void keyReleased(KeyEvent e) {
SudokuTextBox tb = (SudokuTextBox) e.getSource();
int row = tb.getRow();
int col = tb.getCol();
int value = toInteger(tb.getText());
//System.out.println(value);
if(sudoku.isValid(row, col, value)) {
sudoku.set(row, col, value);
}
else {
sudoku.set(row, col, 0);
tb.setText(null);
}
tb.setCaretPosition(0);
sudoku.print();
}
Run Code Online (Sandbox Code Playgroud)
问题是,如果我在文本框中放一个有效的值,然后我回去(由数独的规则),输入无效值的文本框被清除.但是当我向前选项卡时,前一个有效值显示在文本框中.我sudokumatrix包含所有已inputed不明确的价值像它应该这样,只有在相应的文本框中的数字.
当我将"SudokuTextBox扩展JFormattedTextField"更改为"SudokuTextBox extends JTextField"时,它更加令人困惑,它就像一个魅力.但我不能设置JTextField的大小,以便它是正方形,我不能强制每个文本框只有一个整数.
我错过了一些非常明显的东西吗
我正在尝试将图像添加到我的applet中.我用谷歌搜索了这个,但我没有找到一个我理解的体面的例子.有谁知道我在哪里可以找到一个添加图像和applet的好例子?
我在网上得到了这个,但是当我运行applet时它没有显示我的图像.
public class Lab5 extends JApplet {
//Lab5(){}
Image img;
public void init() {
img = getImage(getDocumentBase(), "img\flag0.gif");
}
public void paintComponent(Graphics g) {
g.drawImage(img, 50, 50, this);
}
}
Run Code Online (Sandbox Code Playgroud)
下面是我的HTML文件
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<applet code="Lab5.class" width= 250 height = 50></applet>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)