[Java] Hilo de GUI

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.*;

public class MyFrame extends JFrame implements Runnable,ActionListener {
    
    
    JTextField inputLetter;
    JLabel showLetter,showScore;
    Thread giveLetter;
    int sleepTime,score;


    public MyFrame() {
    
    
        init();
        setTitle("打字母游戏");
        setBounds(300, 300, 400, 100);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        validate();
        giveLetter = new Thread(this);
        giveLetter.start();

    }

    void init() {
    
    

        setLayout(new FlowLayout());
        showLetter = new JLabel(" ",JLabel.CENTER);
        showScore = new JLabel("分数:");
        showLetter.setFont(new Font("Arial",Font.BOLD,22));
        inputLetter = new JTextField(6);

        add(new JLabel("显示字母:"));
        add(showLetter);
        add(new JLabel("输入所显示的字母(回车)"));
        add(inputLetter);
        add(showScore);

        inputLetter.addActionListener(this);


    }

    public void setSleepTime(int sleepTime) {
    
    
        this.sleepTime = sleepTime;
    }

    @Override
    public void actionPerformed(ActionEvent e) {
    
    
        String s = showLetter.getText().trim();
        String letter = inputLetter.getText().trim();
        if(s.equals(letter)){
    
    
            score++;
            showScore.setText("得分"+score);
            giveLetter.interrupt();
        }
        inputLetter.setText(null);
    }

    @Override
    public void run() {
    
    
        char c;
        while(true){
    
    
            c = (char)(Math.random()*26 + 'a');
            showLetter.setText("" + c +" ");
            try{
    
    
                Thread.sleep(sleepTime);
            }catch (InterruptedException e){
    
    

            }
        }
    }
}

principal:

package Gui;

public class Main {
    
    
    public static void main(String[] args) {
    
    
        MyFrame myFrame = new MyFrame();
        myFrame.setSleepTime(1500);
    }
}

Supongo que te gusta

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