⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 textmagic3.java

📁 开发一个用于进行魔方游戏的小型软件。在16个文本域中的4个随机位置上出现不多于二位的随机整数
💻 JAVA
字号:
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class TextMagic3 {
    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<15;i++){
        b[i].setText("0");
      }
      b[15].setText("1");
  }

    
    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 + -