我想知道如何在选中复选框时隐藏第二个drawOval:

public void paintComponent(Graphics g) {
         super.paintComponent(g);
            g.drawOval(175, 185, 80, 45);
            g.drawOval(170, 185, 80, 45);


我是Java的初学者,我找不到如何隐藏它。

所以更具体

我在设计面板中有一个复选框
当我单击复选框时
第二个drawOval应该消失。

可以使用6条线吗?

最佳答案

可以使用6条线吗?


不,您必须修改该代码。根据if块中的复选框状态包装要绘制或不绘制的drawOval线。在if布尔测试内部-检查JCheckBox是否已选中,如果是,则绘制椭圆。如果不画,那就简单!

if (myCheckBox.isSelected()) {
   g.drawOval(....)
}


还将动作侦听器添加到JCheckBox中,该侦听器可以执行以下操作:在JPanel上调用repaint()

08-03 17:28