[Java]_ch15.5_TextArea元件事件處理
package YPU;
import java.awt.Button;
import java.awt.Checkbox;
import java.awt.Color;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MyFrame extends Frame implements ActionListener{
Label lb=new Label();
Button btn1=new Button("紅色");
Button btn2=new Button("綠色");
Button btn3=new Button("藍色");
Button btn4=new Button("離開");
Button btn5=new Button("送出");
Button btn6=new Button("清除");
TextField tf=new TextField();
TextArea ta=new TextArea("結果顯示如下:\n",10,10,TextArea.SCROLLBARS_VERTICAL_ONLY);
Checkbox cb1=new Checkbox("游泳");
Checkbox cb2=new Checkbox("閱讀",true);
Checkbox cb3=new Checkbox("唱歌");
public MyFrame(String name){
super(name);
setLayout(null);
setBackground(Color.PINK);
setSize(300,300);
setLocation(800,300);
setVisible(true);
lb.setText("視窗元件設計");
lb.setBackground(Color.YELLOW);
lb.setSize(200, 50);
lb.setLocation(50, 50);
btn1.setSize(100, 50);
btn1.setLocation(50, 110);
btn2.setSize(100, 50);
btn2.setLocation(150, 110);
add(btn1);
add(btn2);
add(lb);
}
public MyFrame(String name,int w,int h,Color color){
super(name);
setLayout(null);
setBackground(color);
setSize(w,h);
setLocation(800,300);
setVisible(true);
Font lbFont=new Font("新細明體",Font.BOLD+Font.ITALIC,24);
Font btnFont=new Font("新細明體",Font.BOLD,14);
Color btnColor=new Color(255,0,255);
lb.setText("視窗元件設計");
lb.setBackground(Color.YELLOW);
lb.setSize(200, 50);
lb.setLocation(50, 50);
lb.setFont(lbFont);
lb.setAlignment(Label.CENTER);
btn1.setSize(50, 30);
btn1.setLocation(50, 110);
btn1.setFont(btnFont);
btn1.setForeground(btnColor);
btn2.setSize(50, 30);
btn2.setLocation(100, 110);
btn2.setFont(btnFont);
btn2.setForeground(btnColor);
btn3.setBounds(150, 110, 50, 30);
btn3.setFont(btnFont);
btn3.setForeground(btnColor);
btn4.setBounds(200, 110, 50, 30);
btn4.setFont(btnFont);
btn4.setForeground(btnColor);
tf.setBounds(50, 150, 100, 30);
tf.setEchoChar('*');
btn5.setBounds(150, 150, 50, 30);
btn6.setBounds(200, 150, 50, 30);
ta.setBounds(50, 190, 200, 100);
ta.setEditable(false);
cb1.setBounds(50, 300, 70, 30);
cb2.setBounds(120, 300, 70, 30);
cb3.setBounds(190, 300, 70, 30);
add(btn4);
add(btn3);
add(btn1);
add(btn2);
add(btn5);
add(btn6);
add(lb);
add(tf);
add(ta);
add(cb1);
add(cb2);
add(cb3);
}
@Override
public void actionPerformed(ActionEvent e) {
Button btn=(Button)e.getSource();
if(btn==btn1){
lb.setBackground(Color.RED);
lb.setText(btn1.getLabel());
}else if(btn==btn2){
lb.setBackground(Color.GREEN);
lb.setText(btn2.getLabel());
}else if(btn==btn3){
lb.setBackground(Color.BLUE);
lb.setText(btn3.getLabel());
}else if(btn==btn4){
System.exit(0);
}else if(btn==btn5){
lb.setText(tf.getText());
ta.append(tf.getText()+"\n");
if(cb1.getState())
ta.append(cb1.getLabel()+"\n");
if(cb2.getState())
ta.append(cb2.getLabel()+"\n");
if(cb3.getState())
ta.append(cb3.getLabel()+"\n");
}else if(btn==btn6){
lb.setText("");
tf.setText("");
ta.setText("");
}
}
}
package YPU;
import java.awt.Button;
import java.awt.Color;
public class A16 {
public static void main(String[] args) {
MyFrame frm=new MyFrame("國立交通大學",300,500,Color.PINK);
frm.btn1.addActionListener(frm);
frm.btn2.addActionListener(frm);
frm.btn3.addActionListener(frm);
frm.btn4.addActionListener(frm);
frm.btn5.addActionListener(frm);
frm.btn6.addActionListener(frm);
}
}
沒有留言:
張貼留言