Please Enable JavaScript!
Gon[ Enable JavaScript ]

자바(Java) AWT – Label 오브젝트 사용법과 예제

자바(JAVA)
반응형

자바(Java) AWT – Label 오브젝트 사용법과 예제

 

환경 : Eclipse Mars, Android 4.2.2

 

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);
}

 

이렇게 추가한 라벨들을 전부 보여주기 위해 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 – Label 오브젝트 사용법과 예제


반응형
Posted by 녹두장군

댓글을 달아 주세요