アプレットにデータを入力するにはTextFieldを使います。
次のプログラムは円の中心座標、半径、色を入力できるアプレットです。
import java.applet.*; import java.awt.*; import java.awt.event.*; // <applet code="ap_Input" width="300" height="200"></applet> public class ap_Input extends Applet implements ActionListener { TextField tf1, tf2, tf3, tf4; Label l1, l2, l3, l4; int x, y, w, h; int Xr, Yr, R; Color C; // ラベルとテキストフィールドの配置 public void init(){ l1 = new Label("X"); add(l1); tf1 = new TextField(); add(tf1); l2 = new Label("Y"); add(l2); tf2 = new TextField(); add(tf2); l3 = new Label("R"); add(l3); tf3 = new TextField(); add(tf3); l4 = new Label("色"); add(l4); tf4 = new TextField(); tf4.addActionListener(this); add(tf4); } // 色を入力し、エンターキーを押したときに実行される public void actionPerformed(ActionEvent ae){ Xr = Integer.parseInt(tf1.getText()); Yr = Integer.parseInt(tf2.getText()); R = Integer.parseInt(tf3.getText()); x = Xr - R; y = Yr - R; h = w = 2 * R; C = Color.decode(tf4.getText()); repaint(); // 再描画 } public void paint(Graphics g){ g.setColor(C); g.drawOval(x, y, w, h); } }
X、Y、Rには正の整数値を、色にはHTMLでも使用される#で始まる16進数による色を入力します。
色の値を入力した後そのテキストフィールド内でエンターキーを押すと円が描かれます。