Java 如何在我的AWT按钮()中激活图标?点击图标就会消失

Java 如何在我的AWT按钮()中激活图标?点击图标就会消失,java,user-interface,awt,Java,User Interface,Awt,如何使图标始终处于活动状态,单击后不会重新加载 public static class SoftButton extends Button { private Image image; public SoftButton() { setLabel("test"); setBackground(Color.red); } public void paint(Graphics g) {

如何使图标始终处于活动状态,单击后不会重新加载

public static class SoftButton extends Button 
{
    private Image image;

    public SoftButton() 
    {            
        setLabel("test");
        setBackground(Color.red);
    }

    public void paint(Graphics g) 
    {  
        super.paint(g);
        image = Toolkit.getDefaultToolkit().getImage("/tmp/world.gif");
        g.drawImage(image, 0, 0, this);
    }

} 

创建用于存储图标的局部变量。就像你几乎做到的那样:

public static class SoftButton extends Button 
{
    private Image image;

    public SoftButton() 
    {            
        setLabel("test");
        setBackground(Color.red);
        // Load the icon once in the constructor:
        image = Toolkit.getDefaultToolkit().getImage("/tmp/world.gif");
    }

    public void paint(Graphics g) 
    {  
        super.paint(g);
        g.drawImage(image, 0, 0, this);
    }

} 

为什么您首先要使用
AWT
组件?另外,您可能想退房。-1,您已经得到了这个问题的答案:。是的,解决方案比你发布的代码复杂得多,所以当你已经有了答案时,不要指望我们为你编写代码。我认为这不会解决OP的问题,尽管这是一个很好的建议。@Martijn Courtaux:这种方法仍然不起作用。首先它显示一个图标。单击后,图标将消失,再也不会回来。它仍然像我发布的代码一样。