import java.applet.Applet; import java.awt.Button; // 1)ボタンの見た目を作る import java.awt.event.ActionEvent; // 2)ボタンの動きを感じる import java.awt.event.ActionListener; // 3)押されたときに仕事をする import java.awt.TextArea; public class xSmpGUI07 extends Applet{ Button xbt = new Button("コピー"); // 表ボタン生成 TextArea xtxtArea01 = new TextArea("",20, 70); TextArea xtxtArea02 = new TextArea("",20, 70); class xButtonAdapter implements ActionListener{ public void actionPerformed(ActionEvent xbs){ int xnum, xlineLength; String xs, xnokoriText, xline, xlineNumStr, xoutText; // 初期化 xnokoriText = xtxtArea01.getText(); xnum = 1; xoutText = ""; // 行切り出しと行番号付加 while (true) { if (xnokoriText.equals("")== true) break; // 一行取り出し xlineLength = xnokoriText.indexOf("\n"); if (xlineLength >= 0) { xline = xnokoriText.substring(0,xlineLength+1); } else { xline = xnokoriText.substring(0)+"\n"; } // 行番号付加 xs = " " + xnum; xlineNumStr = xs.substring(xs.length() - 3) + ": "; xline = xlineNumStr + xline; // 書出し用に追加 xoutText = xoutText.concat(xline); if (xlineLength == -1) { break; } xnokoriText = xnokoriText.substring(xlineLength + 1); xnum++; } // テキストエリア(ターゲット)へ xtxtArea02.setText(xoutText); } } xButtonAdapter xia = new xButtonAdapter(); //ボタン係生成 public void init(){ add(xbt); //表ボタンを本体プログラムの画面に貼付 xbt.addActionListener(xia); add(xtxtArea01); add(xtxtArea02); } }