//Sample25
import java.applet.Applet;
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Sample25 extends Applet implements ActionListener {
private static final int rect_pitch = 40;
private static final int rect_width = 10;
private static final int origin_X = 100;
private static final int origin_Y = 300;
private static final String init_value = "100";
private static final int element_count = 12;
private static final String window_title = "テキストフィールド配列と棒グラフ";
private static final int window_width = 640;
private static final int window_height = 400;
private static final long serialVersionUID = 5020119670022730653L;
Button b01;
TextField[] tf = new TextField[12];
// 初期処理
@Override
public void init() {
this.setSize(Sample25.window_width, Sample25.window_height);
this.add(new Label(Sample25.window_title));
this.setLayout(new FlowLayout());
this.b01 = new Button("Graph");
this.b01.addActionListener(this);
for (int i = 0; i < Sample25.element_count; i++) {
final int tf_size = 3;
this.tf[i] = new TextField(Sample25.init_value, tf_size);
this.add(this.tf[i]);
}
this.add(this.b01);
}
// 描画
@Override
public void paint(final Graphics g) {
g
.clearRect(0, 0, Sample25.window_width - 1,
Sample25.window_height - 1);
for (int i = 0; i < Sample25.element_count; i++) {
final String rs = this.tf[i].getText();
if (rs != null) {
try {
final int rect_height = Integer.parseInt(rs);
g.drawRect(Sample25.origin_X + i * Sample25.rect_pitch,
Sample25.origin_Y - rect_height,
Sample25.rect_width, rect_height);
} catch (final NumberFormatException e) {
}
}
}
}
// イベント
public void actionPerformed(final ActionEvent ae) {
if (ae.getSource() == this.b01) {
this.repaint();
}
}
}