应该是你的同学问过这个问题了,代码发给你参考,你理解下思路,然后修改代码吧,不要重复了
(点击按钮后,按钮上的字母变红)如果是敲键盘上的按键后变红,也可以简单的修改
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/738b4710b912c8fc9703b0cffe039245d688213b?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class LetterFrame extends JFrame{
public LetterFrame() {
for (int i = 65; i < 91; i++) {
final JButton jb = new JButton((char)i+"");
jb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//按钮背景变红
//jb.setBackground(Color.RED);
//按钮上的文字变红
jb.setForeground(Color.RED);
}
});
this.add(jb);
}
this.setLayout(new FlowLayout());
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setBounds(360, 180,300 ,200 );
this.setVisible(true);
}
public static void main(String[] args) {
new LetterFrame();
}
}
追问那可不可以帮我修改下呢、、和这个不一样的。因为我不知道该怎么修改呀。。。可以么?
追答可以修改,那我在详细我问问你,按下键盘上的字母后,文字变红色,那如果松开键盘上的按键,那么颜色还需要变回去不?
追问要变回去的呀。要不然你给我换个布局什么的呗。。。可以么?
追答同时按键盘上的三个键,三个都变红,松开后, 都变成原来的颜色
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/1f178a82b9014a90a82ed7bfab773912b31beea4?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
按键盘上的一个键
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/30adcbef76094b3662a48befa1cc7cd98d109dfa?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
代码附件下载,供参考