border.java

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

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

/* Revises Example 8.6 to use a
 * border layout.
 */

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

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

  public void init() {
    setLayout(new BorderLayout());
    add(draw,"South");
    add(color,"North");
    add(square,"West");
    add(circle,"East");
    add(canvas,"Center");
    for (int i=0; i<colorName.length; i++) 
      color.add(colorName[i]);
    color.select(0);
    canvas.setBackground(Color.pink);
    draw.addActionListener(canvas);
  }

  class DrawOn extends Canvas implements ActionListener {
    public void actionPerformed(ActionEvent event) {
      repaint();
    }
    public void paint(Graphics g) {
      g.setColor(theColor[color.getSelectedIndex()]);
      g.clearRect(20,20,100,100); 
      if (circle.getState())
         g.fillOval(20,20,100,100);
      else
         g.fillRect(20,20,100,100);
    }   
  }
}

⌨️ 快捷键说明

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