mainframe.java
来自「用JAVA编写的数独游戏源代码,帮助你快速得到游戏的答案」· Java 代码 · 共 93 行
JAVA
93 行
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JPanel;
import javax.swing.JButton;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
class MainFrame extends JFrame implements ActionListener {
JTextField[][][][] numberInput = new JTextField[3][3][3][3] ;
JButton button = new JButton("查看结果") ;
public MainFrame() {
super() ;
setTitle("");
setSize(500, 500);
getContentPane().setLayout(new BorderLayout());
JPanel center = new JPanel(new GridLayout(3,3));
for(int i=0;i<3;i++)
for(int j=0;j<3;j++) {
JPanel panel = new JPanel(new GridLayout(3,3));
for(int m=0;m<3;m++)
for(int n=0;n<3;n++) {
numberInput[i][j][m][n] = new JTextField(1);
numberInput[i][j][m][n].setFont(new Font("宋体",Font.PLAIN,48) );
panel.add(numberInput[i][j][m][n]) ;
}
center.add(panel);
}
getContentPane().add(center , BorderLayout.CENTER ) ;
button.addActionListener(this) ;
getContentPane().add(button , BorderLayout.SOUTH ) ;
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed( ActionEvent e ) {
if (e.getSource()!=button) return ;
int[][] datas = new int[9][9] ;
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
for(int m=0;m<3;m++)
for(int n=0;n<3;n++) {
String s = numberInput[i][j][m][n].getText().trim() ;
if (s.equals("")) continue ;
if (s.length()!=1) {
numberInput[i][j][m][n].setText("E") ;
return ;
}
if ("0123456789".indexOf(s.charAt(0))==-1) {
numberInput[i][j][m][n].setText("E") ;
return ;
}
int number = Integer.parseInt(numberInput[i][j][m][n].getText().trim()) ;
datas[i*3+m][j*3+n] = number ;
}
SudoService.initDatas(datas);
SudoService.work();
SudoService.print() ;
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
for(int m=0;m<3;m++)
for(int n=0;n<3;n++)
numberInput[i][j][m][n].setText(String.valueOf(SudoService.datas[i*3+m][j*3+n])) ;
this.repaint() ;
}
public static void main(String[] args ) {
MainFrame mainFrame = new MainFrame();
mainFrame.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?