2つのクラスがあります。1つはアプレットを描画し、もう1つはactionListenersを追加します。アプレットのどの関数も機能しないため、アプレットがactionListenersを正しく追加していないようです。以下は私のコードのスニペットです:
これはアプレットクラス(StackApplet)に属します。
actListenは、Listenerクラスの新しいインスタンス化です。
public void init() {
try {
SwingUtilities.invokeAndWait(
new Runnable() {
@Override
public void run() {
actListen.invokePush();
actListen.invokePop();
}
});
} catch (Exception e) {
}
これはリスナークラスに属します:
public void invokePush() {
pushListener = new ActionListener() {
public void actionPerformed(ActionEvent act) {
int currentSize = (int)myStack.size();
try {
if (currentSize == ceiling) {
StackApplet.pushField.setEnabled(false);
StackApplet.pushField.setForeground(Color.RED);
StackApplet.pushField.setText("Error: The stack is already full");
} else if (currentSize == ceiling - 1) {
StackApplet.pushField.setForeground(Color.YELLOW);
StackApplet.pushField.setText("Warning: The stack is almost full");
} else if (currentSize == 0) {
StackApplet.pushField.setText("weenie");
}
} catch (Exception e) {
}
}
};
StackApplet.pushBtn.addActionListener(pushListener);
}
アプレットがActionListenersを正しく呼び出していないようです