Java 在jcheckbox中使用图标而不是文本

Java 在jcheckbox中使用图标而不是文本,java,swing,jcheckbox,Java,Swing,Jcheckbox,我需要在jcheckbox中添加一个“信封”图标。文档似乎集中于替换选定/未选定状态图标 我对这些很满意,但我想要一张“信封”图片,而不是写着“电子邮件”的文字。创建一个没有标签的JCheckbox。然后使用图标将其放置在JLabel旁边 public static void main(String[] args) { JFrame frame = new JFrame(); JPanel panel = new JPanel(); JCheckBox box = ne

我需要在jcheckbox中添加一个“信封”图标。文档似乎集中于替换选定/未选定状态图标


我对这些很满意,但我想要一张“信封”图片,而不是写着“电子邮件”的文字。

创建一个没有标签的JCheckbox。然后使用图标将其放置在JLabel旁边

public static void main(String[] args) {
    JFrame frame = new JFrame();
    JPanel panel = new JPanel();

    JCheckBox box = new JCheckBox();
    JLabel label = new JLabel(myIcon);

    panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
    panel.add(box);
    panel.add(label);

    frame.getContentPane().add(panel);
    frame.pack();
    frame.setVisible(true);
}

是的,但我有时想启用/禁用。如果我只需要记得对一个人做就好了item@ManInMoon我想您可以将其抽象出来,并创建自己的小部件(类似于上面的内容),将这两个组件合并在一起。然后重写
setEnabled()
方法,将其应用于标签和复选框。