반응형
|
자바(Java) AWT – TextArea 컨트롤을 사용하는 방법 |
|
환경 : Eclipse Mars, Android 4.2.2 |
TextField 필드는 한줄만 들어가 있는 입력창입니다. 텍스트를 여러줄로 표현하기 위한 컨트롤은 TextArea 입니다. 텍스트를 표현하는데 박스를 넘어가게 되면 자동으로 스크롤바가 생기고 줄면 사라지게 됩니다.
▼ 이번예제는 텍스트를 여러줄로 입력할수 있는 TextArea 컨트롤을 화면에 넣고 보기 버튼을 누르게 되면 상태 라벨에 들어간 내용을 표시 합니다. 먼저 TextArea 객체를 생성할 때 인자로 들어가는 내용입니다. 첫번째 TextArea 에 표시될 내용이 들어가고 두번째는 줄 수 세번째는 글자열의 개수인데 컨트롤의 넓이게 되는 것이죠.
final TextArea commentTextArea = new TextArea( "이번 예제는 ATW 에서 멀티라인을 구현하는 방법입니다.", 5, 30);
▼ TextArea 도 키를 눌렀을 때 이벤트를 받을수 있습니다. addKeyListener 함수에 KeyListener 객체를 생성해서 넘기고 그안에 keyReleased(), keyPressed() 등의 함수를
구현하면 됩니다.
commentTextArea.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
//statusLabel.setText("key Typed");
}
@Override
public void keyReleased(KeyEvent e) {
statusLabel.setText("key release");
}
@Override
public void keyPressed(KeyEvent e) {
statusLabel.setText("key press");
}
});
▼ 보기 버튼을 추가하여 TextArea 에 입력된 내용을 상태바에 출력해서 줍니다. TextArea 에서 값을 꺼낼때는 getText() 함수를 이용하시면 되겠죠.
Button showButton = new Button("보기");
showButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
statusLabel.setText(commentTextArea.getText());
}
});
▼ 아래는 TextArea 컨트롤 예제를 구현한 전체 소스 입니다.
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class AwtTextFieldControl {
private Frame mainFrame;
private Label headerLabel;
private Label statusLabel;
private Panel controlPanel;
public AwtTextFieldControl() {
prepareGUI();
}
public static void main(String[] args) {
AwtTextFieldControl awtControlDemo = new AwtTextFieldControl();
awtControlDemo.showTextField();
}
private void prepareGUI() {
// Frame 에 대한 셋팅
mainFrame = new Frame("Java AWT 샘플");
mainFrame.setSize(400, 400);
mainFrame.setLayout(new GridLayout(3, 1));
mainFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowEvent) {
System.exit(0);
}
});
// 상단에 있는 라벨
headerLabel = new Label();
headerLabel.setAlignment(Label.CENTER);
headerLabel.setText("Control Test : TextArea");
// 하단 상태값 라벨
statusLabel = new Label();
statusLabel.setText("Status Lable");
statusLabel.setAlignment(Label.CENTER);
statusLabel.setSize(350, 100);
controlPanel = new Panel();
controlPanel.setLayout(new FlowLayout());
mainFrame.add(headerLabel);
mainFrame.add(controlPanel);
mainFrame.add(statusLabel);
mainFrame.setVisible(true);
}
private void showTextField() {
Label commentlabel = new Label("내용: ", Label.RIGHT);
final TextArea commentTextArea = new TextArea(
"이번 예제는 ATW 에서 멀티라인을 구현하는 방법입니다.",
5, 30);
Button showButton = new Button("보기");
showButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
statusLabel.setText(commentTextArea.getText());
}
});
commentTextArea.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
//statusLabel.setText("key Typed");
}
@Override
public void keyReleased(KeyEvent e) {
statusLabel.setText("key release");
}
@Override
public void keyPressed(KeyEvent e) {
statusLabel.setText("key press");
}
});
controlPanel.add(commentlabel);
controlPanel.add(commentTextArea);
controlPanel.add(showButton);
mainFrame.setVisible(true);
}
}
▼ 위의 소스를 구현한 화면입니다. 텍스트 박스에 데이터를 입력하시고 보기 버튼을 눌러보세요. 그럼 상태바에 그 내용이 표시 될겁니다.
반응형
'자바(JAVA)' 카테고리의 다른 글
| 자바 객체 직렬화 방법 ObjectInputStream, ObjectOutputStream (0) | 2015.05.10 |
|---|---|
| 자바(Java) The public type [class name] must be defined in its own file 오류 (0) | 2015.04.10 |
| 자바(Java) AWT – Choice 컨트롤을 사용하여 콤보박스 구현하기 (0) | 2015.01.21 |
| 자바(Java) AWT – Canvas 컨트롤의 간단한 사용예제 (0) | 2015.01.14 |
| 자바(Java) AWT – TextField 컨트롤 이용하는 방법과 예제 (2) | 2014.12.03 |
| 자바(Java) AWT – List 컨트롤 구현 방법과 예제 (0) | 2014.11.30 |
| 자바(Java) AWT – Checkbox 컨트롤 사용법과 예제 (4) | 2014.11.27 |
| 자바(Java) 웹페이지에 접속해서 html 소스 긁어 오기위한 방법 (2) | 2014.11.20 |

