您可以创建一个扩展JComponent的新类,然后在构造函数内部插入一个复选框。
public class MyCoolCheckbox extends JComponent{ private JCheckBox checkbox; public MyCoolCheckbox(String label) { checkbox= new JCheckBox(label); this.setLayout(new BorderLayout()); this.add(checkbox, BorderLayout.CENTER); }}这显然是不完整的,您可能需要将某些方法委托给孩子。可能会变得凌乱。如果您按alt-
ins键(默认情况下)然后进行委派,然后选择复选框成员并选择要委派的条目,则像IntelliJ IDEA这样的IDE将为您生成所有这些信息。例如:
public void setForeground(Color fg) { checkbox.setForeground(fg);}public void setBackground(Color bg) { checkbox.setBackground(bg);}public Color getForeground() { return checkbox.getForeground();}public Color getBackground() { return checkbox.getBackground();}请记住,由于子级位于Swing组件树中,因此其他代码也可以访问这些子级,即使它们被标记为私有。
((JCheckBox)myCoolCheckbox.getComponents()[0]).setSelected(true);



