【发布时间】:2014-01-29 23:10:06
【问题描述】:
我正在尝试为JToggleButton 设置默认和切换状态的 2 个图标。尽管我为这两种状态都设置了一个图标,但它为什么不改变它的显示?
package gui;
import java.awt.Image;
import javax.swing.Action;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JCheckBox;
import javax.swing.JToggleButton;
public class RepeatButton extends JToggleButton {
private ImageIcon repeatIcon;
private ImageIcon repeatIconUnchecked;
public RepeatButton() {
repeatIcon = new ImageIcon("media_repeat.png");
repeatIcon.setImage(repeatIcon.getImage().getScaledInstance(repeatIcon.getIconWidth()/2, repeatIcon.getIconHeight()/2,Image.SCALE_AREA_AVERAGING));
repeatIconUnchecked = new ImageIcon("media_repeat_uncheckedalt.png");
repeatIconUnchecked.setImage(repeatIconUnchecked.getImage().getScaledInstance(repeatIconUnchecked.getIconWidth()/2, repeatIconUnchecked.getIconHeight()/2,Image.SCALE_AREA_AVERAGING));
this.setIcon(repeatIcon);
this.setDisabledIcon(repeatIconUnchecked);
this.setBorder(null);
}
}
【问题讨论】:
-
部署时,这些图标可能会变成embedded-resource。在这种情况下,它们必须由
URL而不是File访问。请参阅标签的info page,以了解形成ImageIcon的URL的方法。
标签: java swing icons jtogglebutton