最近接触Java,看的Java语言艺术与科学那本书,今天做到画五角星的程序的时候出现了个很奇怪的问题。
在程序最底部有个设了一个JChechbox fillCheckBox来决定五角星要不要填充,初始的时候设置的是fillCheckBox.setSelected(true),编译也通过了,可是运行时点击那个复选框,复选框的钩去不掉,程序运行却是正常的,请问这是怎么回事,应该怎么改? 谢谢了
代码如下:
import acm.graphics.*;
import acm.program.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class DrawStarMap extends GraphicsProgram{

/* Private instance variable */
private JCheckBox fillCheckBox;

/* Private constant*/
private static final double STAR_SIZE = 20; /* Initializes the mouse listener */
public void init(){
addMouseListeners();
add(new JButton("Clear"), SOUTH);
fillCheckBox = new JCheckBox("Filled");
fillCheckBox.setSelected(true);
add(fillCheckBox, SOUTH);
addActionListeners();
}

/* Called whenever the user clicks the mouse */
public void mouseClicked(MouseEvent e){
GStar star = new GStar(STAR_SIZE);
star.setFilled(fillCheckBox.isSelected());
add(star, e.getX(), e.getY());
}

public void actionPerformed(ActionEvent e){
if(e.getActionCommand().equals("Clear")) removeAll();
}
}