Нажатие на кнопку, чтобы сделать работу потока - PullRequest
0 голосов
/ 09 ноября 2018

У меня есть класс с именем Card, и этот класс расширяется Thread поэтому у меня есть переопределение метода run() и он говорит:

@Override
public void run() {
    while (true) {
        while (Bingobtn == pressed) {
            System.out.println("Thread working is: " + this.ID);
            this.d.getDetails(size, this, frmBingo);
            Thread t1 = new Thread(d);
            t1.start();
            Bingobtn = 0;
        }
    }
}

Я инициализирую static Bingobtn = 0 и static pressed =1, поэтому у меня есть кнопка в этом классе (Card) всякий раз, когда я нажимаю кнопку, я давал action:istener, что Bingobtn=1;

Bbtn = new JButton("Bingo");
Bbtn.setBackground(Color.YELLOW);
Bbtn.setFont(new java.awt.Font("Castellar", java.awt.Font.BOLD, 22));
Bbtn.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        Bingobtn = 1;               
    }
});

Но проблема здесь в том, что while(Bingobtn == pressed) никогда не бывает правдой, даже если я нажимаю кнопку бинго ... это похоже на то, что Bingobtn никогда не равняется 1!

...