import java.awt.*;
import javax.swing.*;
public class ChangingButtonIconTest extends JApplet
{
static class TriangleIcon implements Icon
{
static class State
{
public static final State NORMAL= new State();
public static final State PRESSED = new State();
public static final State ROLLOVER = new State();
private State(){}
}
State state;
Color color;
public void TriangleIcon(Color c,State state){
color = c;
this.state = state;
}
不明白为何要在State类内部创建NORMAL成员,NORMAL可以在State外部外创建吗?NORMAL会具有一些什么特征呢?
------解决方案--------------------
State类的构造方法是private State(){},是私有的,不能外部外创建,从这个代码看,NORMAL只是一个State实例,而State只是一个空类,没有什么特征可言
------解决方案--------------------
这不过是一个 enum 的模拟实现。就是说你可以通过
State.NORMAL 之类的方式来获得这几个常量。