Java swing单选按钮,带有可点击的更改图标

Java swing单选按钮,带有可点击的更改图标,java,swing,icons,actionlistener,Java,Swing,Icons,Actionlistener,设计一个问题,答案的范围可以通过单选按钮选择。 为了显示更大的可点击区域(该应用程序用于触摸屏),我在单选按钮上放置了图标1 每次鼠标单击都可以将显示的图标更改为图标2,反之亦然。 对不起,使用 jRadioButtonActionPerformed ImageIcon o_ButtonIcon = new ImageIcon ("....") jRadioButton.setIcon(Icon m_ButtonIcon). 我没有改变,点击图像。 你能帮我一把吗 似乎工作正常 发布一篇文

设计一个问题,答案的范围可以通过单选按钮选择。 为了显示更大的可点击区域(该应用程序用于触摸屏),我在单选按钮上放置了图标1

每次鼠标单击都可以将显示的图标更改为图标2,反之亦然。 对不起,使用

jRadioButtonActionPerformed 
ImageIcon o_ButtonIcon = new ImageIcon ("....") 
jRadioButton.setIcon(Icon m_ButtonIcon).
我没有改变,点击图像。
你能帮我一把吗

似乎工作正常

发布一篇文章来展示具体的问题

下面是一个示例(我不建议
getScaledInstance(..)
只是将其用于快速示例)


亲爱的大卫,谢谢你及时的回答,并对我的问题给予适当的帮助。谢谢Paul@user1860368很荣幸,如果这解决了问题,请单击帖子旁边的空勾号,将其显示为已接受的答案
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JRadioButton;
import javax.swing.SwingUtilities;

public class Test {

    private ImageIcon ii1;
    private ImageIcon ii2;
    private JRadioButton jrb = new JRadioButton("Click me :)");
    private JFrame frame = new JFrame();

    public Test() {
        try {
            ii1 = new ImageIcon(ImageIO.read(new URL("http://cdn.macrumors.com/article/2010/09/03/145454-itunes_10_icon.jpg")).getScaledInstance(48, 48, Image.SCALE_SMOOTH));
            ii2 = new ImageIcon(ImageIO.read(new URL("http://www.quarktet.com/Icon-small.jpg")).getScaledInstance(48, 48, Image.SCALE_SMOOTH));
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        initComponents();
    }

    public static void main(String args[]) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new Test();
            }
        });
    }

    private void initComponents() {
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        jrb.setIcon(ii1);
        jrb.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                if (jrb.getIcon() == ii1) {
                    jrb.setIcon(ii2);
                } else {
                    jrb.setIcon(ii1);
                }
            }
        });

        frame.add(jrb);
        frame.pack();
        frame.setVisible(true);
    }
}