- 修正後のソース
-
01 : import java.awt.*;
02 : import java.awt.event.*;
03 :
04 : public class Hyouji{
05 :
06 : Frame frame1 = new Frame("Javaプログラミング");
07 : TextArea text1 = new TextArea("",0,0,TextArea.SCROLLBARS_NONE);
08 : Button button1 = new Button("ボタン");
09 : TextArea label1 = new TextArea("",0,0,TextArea.SCROLLBARS_NONE);
10 :
11 : public static void main(String[] args){
12 : Hyouji Hyouji1 = new Hyouji();
13 : Hyouji1.showFrame();
14 : }
15 :
16 : public void showFrame(){
17 : frame1.setBounds(100,100,720,350);
18 : text1.setBounds(20,40,300,300);
19 : button1.setBounds(340,100,40,20);
20 : label1.setBounds(400,40,300,300);
21 : label1.setBackground(Color.green);
22 : label1.setEditable(false);
23 :
24 : frame1.setLayout(null);
25 : frame1.add(text1);
26 : frame1.add(button1);
27 : frame1.add(label1);
28 :
29 : frame1.setVisible(true);
30 :
31 : MyButtonActionListener1 mb1 =new MyButtonActionListener1();
32 : button1.addActionListener(mb1);
33 :
34 :
35 : MyWindowListener1 mw1 = new MyWindowListener1();
36 : frame1.addWindowListener(mw1);
37 : }
38 :
39 :
40 : class MyButtonActionListener1 implements ActionListener {
41 : public void actionPerformed(ActionEvent e){
42 : label1.setText(text1.getText());
43 : }
44 : }
45 :
46 :
47 : class MyWindowListener1 extends WindowAdapter {
48 : public void windowClosing(WindowEvent e){
49 : System.exit(0);
50 : }
51 : }
52 : }
- ソースについて
- 1行目〜2行目のインポート文。
- 修正前は利用するクラスを個々に指定していたのを「*」を使って指定しました。
- 7行目と9行目
- 修正前はテキストフィールドとラベルを利用していたのですが、どちらもTextAreaコンポーネントに変えました。
- 17行目〜22行目
- 17行目〜21行目、各コンポーネントの表示する位置も修正しています。
22行目、メソッド「setEditable()」で「false」を指定して、ラベルの代わりに設置したTextAreaコンポーネントを編集不可能に設定しています。 - 他
- イベントリスナ「MyTextActionListener1」とそのインスタンスは使わないので消しました。
- コンパイルと実行
- 複数行のテキストの表示、編集不可能なTextAreaの設置どちらもうまくいきました。
テキストフィールドの文字をラベルに表示するJavaプログラム2
「java.awt.TextArea」について簡単に勉強しました。で勉強したコンポーネント「TextArea」を使って、テキストフィールドの文字をラベルに表示するJavaプログラムで作ったプログラムを、複数行のテキストを表示できるように修正しました。
コメントを書く