Java AWT and Text Area (TextArea) - Example สำหรับ Text Area (java.awt.TextArea) จัดอยู่ในกลุ่มของ AWT Component ใช้เป็น Input แบบ Multiple Line ที่รองรับรูปแบบข้อความที่มีขนาดใหญ่ และ ปริมาณมาก สามารถกำหนดความสูงของกล่องรับข้อมูลและสามารถพิมพ์ข้อความได้หลายบรรทัด โดยที่ TextArea มี Property ที่สำคัญ ๆ อยู่ 2 ตัวคือ getText() และ setText() ใช้สำหรับ get ค่าและ set ค่า
Java AWT and Text Area (TextArea) - Example
Syntax
TextArea txt = new TextArea();
txt.getText() // get ค่า
txt.setText(String) // set ค่า
การ get ค่าแบบ Multiple line
for (String line : txt.getText().split("\\n"))
{
System.out.println(line);
}
Controls Icon Tools
Example ตัวอย่างการสร้าง TextArea ของ AWT เพื่อรับค่าแบบ Multi Line แบบง่าย ๆ
MyForm.java
package com.java.myapp;
import java.awt.Button;
import java.awt.EventQueue;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextArea;
import java.awt.event.WindowEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class MyForm extends Frame {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
MyForm form = new MyForm();
form.setVisible(true);
}
});
}
public MyForm() {
// Create Form Frame
super("ThaiCreate.Com Java GUI Tutorial");
setSize(434, 285);
setLocation(500, 280);
setLayout(null);
// Label
final Label label = new Label();
label.setAlignment(java.awt.Label.CENTER);
label.setText("Result");
label.setBounds(140, 220, 150, 20);
add(label);
// TextArea
final TextArea txt = new TextArea();
txt.setBounds(110, 60, 210, 90);
add(txt);
// Button
Button button = new Button();
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
label.setText("Hi! : " + txt.getText());
// Read line
for (String line : txt.getText().split("\\n"))
{
System.out.println(line);
}
}
});
button.setBounds(170, 170, 90, 24);
button.setLabel("Submit");
add(button);
// Close
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(WindowEvent evt) {
System.exit(0);
}
});
}
}