gpt4 book ai didi

java - keyReleased 函数不恢复 java 中的原始背景颜色

转载 作者:行者123 更新时间:2023-11-30 09:30:06 26 4
gpt4 key购买 nike

当我按下某个键一段时间后,在 keyReleased 函数中,该键的背景颜色并没有恢复到原来的颜色。我做错了什么。如果您可以将我重定向到某个站点,该站点包含有关如何通过示例制作此类程序的教程,那将非常有帮助。这是代码:

public void keyPressed(KeyEvent event)
{
int code= event.getKeyCode();
String x,h;

for(int i=0;i<names.length;i++)
{
s=names[i];
x=s.trim();

if(x.contentEquals(event.getKeyText(code)) )
{
backColor=but[i].getBackground();
but[i].setBackground(Color.RED);
break;
}
}
switch(event.getKeyCode())
{
case KeyEvent.VK_BACK_SLASH:
h=" \\ ";
for(int i=0;i<but.length;i++)
{
if(h.contentEquals(but[i].getText()))
{
backColor=but[i].getBackground();
but[i].setBackground(Color.RED);
buttonIndex=i;
break;
}
}
break;
}
public void keyReleased(KeyEvent event)
{
String x;
int code= event.getKeyCode();

for(int i=0;i<names.length;i++)
{
s=names[i];
x=s.trim();

if(x.contentEquals(event.getKeyText(code)) && !s.contentEquals(" "))
{System.out.println("outside");
but[i].setBackground(backColor);
break;
}
else
if(s.contentEquals(" "))
{
but[buttonIndex].setBackground(backColor);
}
}
}

最佳答案

  • 不要使用 Keylistener对于 Swing JComponentsuse KeyBindings instead

  • 您的 JFrameJPanelJComponent 必须是可聚焦的 (setFocusable)

  • 在一瞬间只有一个JComponent可以被聚焦,那么你的程序将是focus_hunter 这不是由by using KeyBindings引起的

  • 为了获得更好的帮助,请尽快发布 SSCCE ,简短,可运行,可编译

关于java - keyReleased 函数不恢复 java 中的原始背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13429048/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com