相关疑难解决方法(0)

JFormattedTextField未正确清除

我正在做这个任务,制作一个解决数独的程序.我有一个带有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的大小,以便它是正方形,我不能强制每个文本框只有一个整数.

我错过了一些非常明显的东西吗

java keyevent sudoku jtextfield jformattedtextfield

2
推荐指数
1
解决办法
3636
查看次数

我正在寻找一个向applet添加图像的好例子

我正在尝试将图像添加到我的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)

java swing image paintcomponent

-1
推荐指数
1
解决办法
650
查看次数