Java swing radioButton带有可变的,可点击的图标
发布时间:2020-12-15 08:48:10 所属栏目:Java 来源:网络整理
导读:设计一个问题,答案的范围可以通过radioButtons选出. 为了显示更大的可点击区域(应用程序用于触摸屏),我在无线电按钮上放置了icon_1. 每次鼠标点击都可以将显示的图标更改为icon_2,反之亦然. 我很抱歉,使用 jRadioButtonActionPerformed ImageIcon o_ButtonIc
设计一个问题,答案的范围可以通过radioButtons选出.
为了显示更大的可点击区域(应用程序用于触摸屏),我在无线电按钮上放置了icon_1. 每次鼠标点击都可以将显示的图标更改为icon_2,反之亦然. jRadioButtonActionPerformed ImageIcon o_ButtonIcon = new ImageIcon ("....") jRadioButton.setIcon(Icon m_ButtonIcon). 我没有改变,可点击的图像. 解决方法
似乎工作正常.
发布SSCCE以显示具体问题. 这是一个例子(我不建议使用getScaledInstance(..)将它用作快速示例) 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,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); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |