Java actionPerformed 无效
Java actionPerformed not working
我正在尝试为学校制作一个带有 GUI 的小型二十一点游戏。这是代码:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Gui extends JFrame implements ActionListener {
private JButton bBet;
private JLabel lblPointsPL;
private Blackjack bj;
public Gui() {
Blackjack bj = new Blackjack();
bBet = new JButton("Bet!");
bBet.setBounds(10, 60, 200, 35);
bBet.setForeground(Color.black);
bBet.setBackground(Color.yellow);
this.add(bBet);
lblPointsPL = new JLabel("PointsPL");
lblPointsPL.setBounds(300, 50, 200, 35);
this.add(lblPointsPL);
lblPointsPL.setText("test1");
}
public void actionPerformed(ActionEvent event) {
Blackjack bj = new Blackjack();
if (event.getSource() == bBet) {
lblPointsPL.setText("test2");
}
}
}
如果我按下 bBet
按钮,它应该将文本更改为 "test2",但这不起作用。 "test1" 的第一个更改正在运行。
您忘记为按钮添加动作侦听器。
bBet = new JButton("Bet!");
bBet.setBounds(10, 60, 200, 35);
bBet.setForeground(Color.black);
bBet.setBackground(Color.yellow);
this.add(bBet);
bBet.addActionListener(this); // missing statement.
我正在尝试为学校制作一个带有 GUI 的小型二十一点游戏。这是代码:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Gui extends JFrame implements ActionListener {
private JButton bBet;
private JLabel lblPointsPL;
private Blackjack bj;
public Gui() {
Blackjack bj = new Blackjack();
bBet = new JButton("Bet!");
bBet.setBounds(10, 60, 200, 35);
bBet.setForeground(Color.black);
bBet.setBackground(Color.yellow);
this.add(bBet);
lblPointsPL = new JLabel("PointsPL");
lblPointsPL.setBounds(300, 50, 200, 35);
this.add(lblPointsPL);
lblPointsPL.setText("test1");
}
public void actionPerformed(ActionEvent event) {
Blackjack bj = new Blackjack();
if (event.getSource() == bBet) {
lblPointsPL.setText("test2");
}
}
}
如果我按下 bBet
按钮,它应该将文本更改为 "test2",但这不起作用。 "test1" 的第一个更改正在运行。
您忘记为按钮添加动作侦听器。
bBet = new JButton("Bet!");
bBet.setBounds(10, 60, 200, 35);
bBet.setForeground(Color.black);
bBet.setBackground(Color.yellow);
this.add(bBet);
bBet.addActionListener(this); // missing statement.