selectitem.java

来自「Java 入门书的源码」· Java 代码 · 共 48 行

JAVA
48
字号
//Copyright (c) 1998, Arthur Gittleman
//This example is provided WITHOUT ANY WARRANTY either expressed or implied.

/* Revises Example 8.6 to listen for item
 * event rather than action events.
 */

import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;

public class SelectItem extends Applet {
  private DrawOn canvas = new DrawOn();
  private Choice color = new Choice();
  private CheckboxGroup shapes = new CheckboxGroup();
  private Checkbox square = new Checkbox("Square",false,shapes);
  private Checkbox circle = new Checkbox("Circle",true,shapes);
  private Color [] theColor = {Color.red,Color.green,Color.blue};
  private String [] colorName = {"Red","Green","Blue"};

  public void init() {
    add(color);
    add(square);
    add(circle);
    add(canvas);
    for (int i=0; i<colorName.length; i++) 
      color.addItem(colorName[i]);
    color.select(0);
    canvas.setSize(150,150);
    color.addItemListener(canvas);
    square.addItemListener(canvas);
    circle.addItemListener(canvas);
  }

  class DrawOn extends Canvas implements ItemListener {
    public void itemStateChanged(ItemEvent event) {
      if (event.getStateChange() == ItemEvent.SELECTED)
        repaint();
    }
    public void paint(Graphics g) {
      g.setColor(theColor[color.getSelectedIndex()]);
      if (circle.getState())
         g.fillOval(20,20,100,100);
      else
         g.fillRect(20,20,100,100);
    }   
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?