반응형
Label 오브젝트는 아무 동작도 하지 않습니다. 그냥 텍스트를 뿌려주는 기능만 할 뿐입니다. 이벤트는 일어나지 않지만 상태값에 따라 Label 의 값이 변경될수는 있겠죠.
▼ 아래 샘플은 라벨을 어디에다 붙이고 사용하는지 몇 개의 라벨 객체를 만들어 보여주고 있습니다. prepareGUI 함수에 있는 두개의 라벨은 Frame 객체에 붙여서 사용한 것입니다. 소스에서 보이듯이 아래위로 라벨을 추가하고 중간에 Panel 객체를 하나 넣었습니다.
private void prepareGUI() {
// Frame 에 대한 셋팅
mainFrame = new Frame("Java AWT Label 샘플");
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 : Label");
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);
}
▼ 라벨의 사용한 주요 함수는 다음과 같습니다.
l setAlignment : 라벨에 들어가는 Text 의 정렬방법
l setSize : 라벨의 가로 세로 사이즈가 됩니다.
l setText : 라벨에 텍스트 값을 넣습니다.
l setBackground : 배경색을 지정합니다.
l setForeground : 텍스트의 색상을 지정합니다.
prepareGUI 함수에서는 라벨을 Frame 객체에 붙였지만 아래에는 Panel 객체에 라벨두개를 붙여 넣었습니다. prepareGUI 만든 Panel 객체이죠.
private void showLabel() {
Label label = new Label();
label.setText("Label 테스트1");
label.setAlignment(Label.CENTER);
label.setBackground(Color.blue);
label.setForeground(Color.WHITE);
controlPanel.add(label);
Label label2 = new Label();
label2.setText("Label 테스트1");
label2.setAlignment(Label.LEFT);
label2.setBackground(Color.red);
label2.setForeground(Color.WHITE);
controlPanel.add(label2);
mainFrame.setVisible(true);
}
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 자바(Java) AWT – Button 컨트롤 사용법과 예제 ▶ 자바(Java) AWT – Canvas 컨트롤의 간단한 사용예제 ▶ 자바(Java) AWT – Choice 컨트롤을 사용하여 콤보박스 구현하기 ▶ 자바(Java) AWT – CheckboxGroup 이용해서 옵션기능구현 ▶ 자바(Java) AWT – List 컨트롤 구현 방법과 예제 |
▼ 이렇게 추가한 라벨들을 전부 보여주기 위해 mainFrame.setVisible(true) 로 설정합니다. 화면에 표시되는 구조는 GridLayout 을 사용하여 행 3개 열 1로 셋팅했습니다. 2개의 라벨이 위아래로 위치하고 중간에 Panel 이 들어가는 구조겠죠. 전체 소스는 아래와 같습니다.
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.Panel;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class AwtLabelControl {
private Frame mainFrame;
private Label headerLabel;
private Label statusLabel;
private Panel controlPanel;
public AwtLabelControl() {
prepareGUI();
}
public static void main(String[] args) {
AwtLabelControl awtControlDemo = new AwtLabelControl();
awtControlDemo.showLabel();
}
private void prepareGUI() {
// Frame 에 대한 셋팅
mainFrame = new Frame("Java AWT Label 샘플");
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 : Label");
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 showLabel() {
Label label = new Label();
label.setText("Label 테스트1");
label.setAlignment(Label.CENTER);
label.setBackground(Color.blue);
label.setForeground(Color.WHITE);
controlPanel.add(label);
Label label2 = new Label();
label2.setText("Label 테스트1");
label2.setAlignment(Label.LEFT);
label2.setBackground(Color.red);
label2.setForeground(Color.WHITE);
controlPanel.add(label2);
mainFrame.setVisible(true);
}
}
▼ 소스를 실행한 결과 화면 입니다.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 자바(Java) AWT – Button 컨트롤 사용법과 예제 ▶ 자바(Java) AWT – Canvas 컨트롤의 간단한 사용예제 ▶ 자바(Java) AWT – Choice 컨트롤을 사용하여 콤보박스 구현하기 ▶ 자바(Java) AWT – CheckboxGroup 이용해서 옵션기능구현 ▶ 자바(Java) AWT – List 컨트롤 구현 방법과 예제 |
반응형
'자바(JAVA)' 카테고리의 다른 글
자바(Java) public, private, protected, default 접근 제어자 차이점은 (3) | 2023.10.23 |
---|---|
자바(Java) 개발을 위한 최신 버전 JDK 다운 받기 (1) | 2023.10.12 |
자바(Java) 숫자 나누기로 소수점 이하 출력하기 (0) | 2023.08.22 |
자바(Java) this, super 키워드, this(), super() 함수 사용하는 방법 (1) | 2023.01.20 |
자바 Java 윈도우 위치 찾기 명령어 (1) | 2022.12.25 |
자바(Java) 문자열 구분을 위한 Split 함수 사용하는 방법 (0) | 2022.10.24 |
자바(Java) 데이터 형변환 char -> String 여러가지 방법 (5) | 2022.07.22 |
자바(Java) 클래스와 함수의 재정의를 방비하는 final 키워드에 대해 알아보자 (0) | 2020.08.16 |