PopupSample2.java
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
/**
* JDK1.1 に追加された PopupMenuを含むアプレット PopupSample2 クラス
* 新しいイベントモデルによるメニューのアクション処理
*/
public class PopupSample2 extends Applet
implements MouseListener, ActionListener {
/** インターフェイスの部品の宣言 */
public PopupMenu menu; // メニュー本体
public MenuItem items[]; // メニュー項目
/** 初期設定のメソッド */
public void init() {
String labels[] = { "Red", "Green", "Blue" };
menu = new PopupMenu( "Popup Menu" );
items = new MenuItem[3];
for( int i=0; i<3; i++ ){
items[i] = new MenuItem( labels[i] );
menu.add( items[i] );
items[i].addActionListener( this ); //アクション処理の登録
}
add( menu );
addMouseListener( this );
}
/** マウスのクリックの処理のメソッド */
public void mousePressed( MouseEvent evt ){
menu.show( this, evt.getX(), evt.getY() ); // メニューの出現
}
public void mouseClicked( MouseEvent evt ){
}
public void mouseReleased( MouseEvent evt ){
}
public void mouseEntered( MouseEvent evt ){
}
public void mouseExited( MouseEvent evt ){
}
/** アクション処理の内容 */
public void actionPerformed( ActionEvent evt ){
String label = ((MenuItem)evt.getSource()).getLabel();
if( label == "Red" ) {
setBackground( Color.red );
}
else if( label == "Green" ) {
setBackground( Color.green );
}
else if( label == "Blue" ) {
setBackground( Color.blue );
}
}
}