📄 textmagic2.java
字号:
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class TextMagic2 {
public static void main(String[] args){
JFrame f =new buildmagic();
f.setVisible(true);
}
}
class magic extends JPanel implements ActionListener{
JLabel jLabel1 = new JLabel();
JButton jButton1 = new JButton();
JTextField jTextField1 = new JTextField();
JTextField jTextField2 = new JTextField();
JTextField jTextField3 = new JTextField();
JTextField jTextField4 = new JTextField();
JTextField jTextField5 = new JTextField();
JTextField jTextField6 = new JTextField();
JTextField jTextField7 = new JTextField();
JTextField jTextField8 = new JTextField();
JTextField jTextField9 = new JTextField();
JTextField jTextField10 = new JTextField();
JTextField jTextField11 = new JTextField();
JTextField jTextField12 = new JTextField();
JTextField jTextField13 = new JTextField();
JTextField jTextField14 = new JTextField();
JTextField jTextField15 = new JTextField();
JTextField jTextField16 = new JTextField();
JTextField jTextField17 = new JTextField();
JTextField[] b={jTextField1,jTextField2,jTextField3,jTextField4,jTextField5,jTextField6,jTextField7,jTextField8,jTextField9,jTextField10,jTextField11,jTextField12,jTextField13,jTextField14,jTextField15,jTextField16};
public magic(){
jLabel1.setFont(new java.awt.Font("新宋体", Font.BOLD, 13));
jLabel1.setToolTipText("");
jLabel1.setText("在魔方的空白处填数,使每行每列数字之和均相等");
jButton1.setText("是魔方吗?");
jTextField17.setPreferredSize(new Dimension(105, 20));
jTextField17.setToolTipText("");
setBackground(SystemColor.activeCaptionBorder);
add(jLabel1);
for(int v=0;v<16;v++){
b[v].setHorizontalAlignment(JTextField.CENTER);
b[v].setPreferredSize(new Dimension(70, 70));
add(b[v]);}
add(jButton1);
add(jTextField17);
jButton1.addActionListener(this);
jTextField17.setHorizontalAlignment(JTextField.CENTER);
for(int i=0;i<16;i++){ //57行
b[i].setText("0");
} //59行
}
public void redo(){
jTextField17.setText("");
for(int n=0;n<16;n++){
if(!b[n].isEditable()){b[n].setEditable(true);}
b[n].setText("");}
int[] c = new int[4];
for(int i=0;i<4;i++){
int q=(int)(15*Math.random());
c[i]=q;
while(!b[c[i]].isEditable()){q=(int)(15*Math.random());c[i]=q;}
String a=String.valueOf((int)(10*Math.random()));
b[c[i]].setText(a);
b[c[i]].setEditable(false);}
}
public void actionPerformed(ActionEvent evt){
Object source=evt.getSource();
int[] d = new int[16];
int t;
try{
for(t=0;t<16;t++){
d[t]=(int)Double.valueOf(b[t].getText()).doubleValue();}
int m=d[1]+d[2]+d[3]+d[0];
if(d[1]+d[2]+d[3]+d[0]==m&&d[5]+d[6]+d[7]+d[4]==m&&d[9]+d[10]+d[11]+d[8]==m&&d[15]+d[12]+d[13]+d[14]==m&&d[1]+d[5]+d[9]+d[13]==m&&d[2]+d[6]+d[10]+d[14]==m&&d[3]+d[7]+d[11]+d[15]==m&&d[4]+d[8]+d[12]+d[0]==m){
jTextField17.setText("是魔方!");
redo();
DialogFrame e = new DialogFrame();
e.setVisible(true);}
else {jTextField17.setText("不是魔方");}}
catch(NumberFormatException rte){jTextField17.setText("请按要求重新输入");}}
}
class DialogFrame extends JFrame implements ActionListener{
JLabel jLabel2 = new JLabel("你成功啦!");
JLabel jLabel3 = new JLabel("再玩一把么?");
JButton jButton2 = new JButton("好的");
JButton jButton3 = new JButton("不了");
public DialogFrame(){
setTitle("恭喜你");
setSize(200,100);
addWindowListener(new WL());
Container contentPane = getContentPane();
contentPane.setLayout(new FlowLayout());
contentPane.add(jLabel2);
contentPane.add(jLabel3);
contentPane.add(jButton2);
contentPane.add(jButton3);
jButton2.addActionListener(this);
jButton3.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == jButton2) {
dispose();}
else if(e.getSource() == jButton3){System.exit(0);dispose();}
}
}
class WL extends WindowAdapter{
public void windowClosing(WindowEvent e){System.exit(0);}
}
class buildmagic extends JFrame{
public buildmagic(){
setTitle("欢迎来到魔方游戏");
setSize(350,400);
setResizable(false);
Container contentPane=getContentPane();
contentPane.add(new magic());
addWindowListener(new WL());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -