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

📄 mainframe.java

📁 这是一个利用Java编写的猜数字的游戏
💻 JAVA
字号:
package numselect;

import java.awt.BorderLayout;
import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.Rectangle;
import javax.swing.JLabel;
import javax.swing.BorderFactory;
import java.awt.Color;
import javax.swing.JButton;
import java.util.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusAdapter;

public class MainFrame extends JFrame {
    JPanel contentPane;
    JTextField txtnum = new JTextField();
    JLabel lblinfo = new JLabel();
    JButton btuguess = new JButton();
    JButton btucrt = new JButton();
    int i;
    int count = 0;
    JLabel lblin = new JLabel();
    public MainFrame() {
        try {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            jbInit();
            Random ran = new Random();
            i = ran.nextInt(100);
            System.out.println(i);
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }
    private void jbInit() throws Exception {
        contentPane = (JPanel) getContentPane();
        contentPane.setLayout(null);
        setSize(new Dimension(400, 300));
        setTitle("Frame Title");
        txtnum.setBounds(new Rectangle(111, 38, 147, 33));
        txtnum.addFocusListener(new MainFrame_txtnum_focusAdapter(this));
        lblinfo.setBorder(BorderFactory.createLineBorder(Color.black));
        lblinfo.setBounds(new Rectangle(111, 86, 146, 39));
        btuguess.setBounds(new Rectangle(111, 153, 146, 37));
        btuguess.setText("猜");
        btuguess.addActionListener(new MainFrame_btuguess_actionAdapter(this));
        btucrt.setBounds(new Rectangle(111, 222, 145, 34));
        btucrt.setText("生成");
        btucrt.addActionListener(new MainFrame_btucrt_actionAdapter(this));
        lblin.setText("输入:");
        lblin.setBounds(new Rectangle(52, 38, 40, 33));
        contentPane.add(txtnum);
        contentPane.add(lblinfo);
        contentPane.add(btuguess);
        contentPane.add(btucrt);
        contentPane.add(lblin);
    }

    public void btuguess_actionPerformed(ActionEvent e) {
        int j = 0;

        try {
            j = Integer.parseInt(txtnum.getText());
        } catch (Exception ex) {
            this.lblinfo.setText("请输入0-100的数字!");
            this.txtnum.setText("");
            return;
        }
        if(j>100||j<0){
             this.lblinfo.setText("请输入0-100的数字!");
             this.txtnum.setText("");
             return;
        }
        count++;
        if (j > i) {
            this.lblinfo.setText("太大了!");

        } else if (j < i) {
            this.lblinfo.setText("太小了!");
        } else {
            this.lblinfo.setText("对了!");
            this.btuguess.setEnabled(false);
            this.txtnum.setEnabled(false);
        }
        this.lblinfo.getText();
        this.lblinfo.setText(this.lblinfo.getText() + "你猜了" + count + "次!");
    }

    public void btucrt_actionPerformed(ActionEvent e) {
        Random ran = new Random();
        i = ran.nextInt(100);
        this.btuguess.setEnabled(true);
        this.txtnum.setEditable(true);
        count = 0;
        this.lblinfo.setText("");
        this.txtnum.setEnabled(true);
        System.out.println(i);
    }

    public void txtnum_focusGained(FocusEvent e) {
this.txtnum.setText("");
    }
}


class MainFrame_txtnum_focusAdapter extends FocusAdapter {
    private MainFrame adaptee;
    MainFrame_txtnum_focusAdapter(MainFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void focusGained(FocusEvent e) {
        adaptee.txtnum_focusGained(e);
    }
}


class MainFrame_btucrt_actionAdapter implements ActionListener {
    private MainFrame adaptee;
    MainFrame_btucrt_actionAdapter(MainFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.btucrt_actionPerformed(e);
    }
}


class MainFrame_btuguess_actionAdapter implements ActionListener {
    private MainFrame adaptee;
    MainFrame_btuguess_actionAdapter(MainFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.btuguess_actionPerformed(e);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -