[Java] [GUI] Adivina el juego de números

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Código:

package Gui;

        import javax.swing.*;
        import java.awt.*;
        import java.awt.event.ActionEvent;
        import java.awt.event.ActionListener;

public class MyFrame extends JFrame {
    
    
    int number;
    JLabel label;
    JTextField text;
    JButton button1,button2;
    PoliceListener policeListener;

    public static void main(String[] args) {
    
    
        MyFrame myFrame = new MyFrame();
    }

    public MyFrame(){
    
    
        init();
        setTitle("猜数字");
        setBounds(300,300,260,150);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        validate();
    }
    void init(){
    
    
        setLayout(new FlowLayout());

        button1 = new JButton("得到一个随机数");
        add(button1);

        label = new JLabel("输入你的猜测:",JLabel.CENTER);
        label.setBackground(Color.cyan);
        add(label);

        text = new JTextField("0",10);
        add(text);

        button2 = new JButton("确定");
        add(button2);

        policeListener = new PoliceListener();
        button1.addActionListener(policeListener);
        button2.addActionListener(policeListener);


    }
    class PoliceListener implements ActionListener{
    
    
        @Override
        public void actionPerformed(ActionEvent e) {
    
    
            if(e.getSource() == button1){
    
    
                number = (int)(Math.random()*100)+1;
                label.setText("输入你的猜测");
                text.setText(null);
            }
            else if(e.getSource() == button2){
    
    
                int guess = 0;
                try{
    
    
                    guess = Integer.parseInt(text.getText());
                    if(guess == number){
    
    
                        label.setText("猜对了!");
                    }else if(guess < number){
    
    
                        label.setText("猜小了!");
                        text.setText(null);
                    }else {
    
    
                        label.setText("猜大了!");
                        text.setText(null);
                    }
                }catch (NumberFormatException event){
    
    
                    label.setText("请输入数字字符");
                }
            }
        }
    }
}

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
myFrame:

package Gui;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;

public class MyFrame extends JFrame {
    
    
        JTextField text;
        JTextArea area;
        JLabel label;
        JButton button1,button2,button3,button4;
        int RandomNum = 50;
        private Listener listener;

    public MyFrame(){
    
    
        init();
        setTitle("猜数字游戏");
        setBounds(300,300,320,270);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }
    void init(){
    
    
        setLayout(new FlowLayout());
        area = new JTextArea(9,30);
        add(new JScrollPane(area));

        label = new JLabel("猜猜这个数字,范围1-100");
        add(label);

        text = new JTextField(10);
        add(text);

        button1 = new JButton("试试");
        button2 = new JButton("看答案");
        button3 = new JButton("刷新");
        button4 = new JButton("退出");

        add(button1);
        add(button2);
        add(button3);
        add(button4);

        listener = new Listener();
        button1.addActionListener(listener);
        button2.addActionListener(listener);
        button3.addActionListener(listener);
        button4.addActionListener(listener);
    }
    class Listener implements ActionListener {
    
    
        @Override
        public void actionPerformed(ActionEvent e) {
    
    
            if(e.getSource() == button1){
    
    
                String content = text.getText().trim();
                int num;
                if(content.equals("")){
    
    
                        JOptionPane.showMessageDialog(null,"请输入数字");
                        return;
                }


                try{
    
    
                    num = Integer.valueOf(content).intValue();
                }catch (Exception e1){
    
    
                    JOptionPane.showMessageDialog(null,"包含非数字字符");
                    return;
                }



                    num = Integer.parseInt(content);
                    if(num > 100 || num < 0){
    
    
                        area.append("请输入1~100之间的数\n");
                        text.setText("");
                        return;
                    }

                    area.append("输入的数字为:"+num+"\n");
                    if(num == RandomNum){
    
    
                        area.append(num + "猜对了\n");
                    }
                    else if(num < RandomNum){
    
    
                        area.append(num + "猜小了\n");
                    }
                    else {
    
    
                        area.append(num + "猜大了\n");
                    }
                    text.setText("");
            }
            else if(e.getSource() == button2){
    
    
                area.append("答案为"+RandomNum+"\n");
            }
            else if(e.getSource() == button3){
    
    
                int n;
                Random rand = new Random();
                n = rand.nextInt(100)+1;
                while(n == RandomNum){
    
    
                    n = rand.nextInt(100)+1;
                }
                RandomNum = n;
                area.append("\n" + "目标数字已重新生成,请重新猜~"+"\n");
            }
            else if(e.getSource() == button4){
    
    
                System.exit(0);
            }

        }
    }

}

principal:

package com.itheima;
import Gui.MyFrame;

import javax.swing.*;
import java.util.Scanner;
public class test {
    
    
    public static void main(String[] args) {
    
    
        MyFrame myFrame = new MyFrame();
    }
}

Supongo que te gusta

Origin blog.csdn.net/weixin_48180029/article/details/113832708
Recomendado
Clasificación