1. AWT (Abstract Window Toolkit)
AWT는 자바에서 첫 번째 GUI(그래픽 사용자 인터페이스) 툴킷으로, 윈도우, 버튼, 다이얼로그 박스 등 기본적인 사용자 인터페이스 컴포넌트를 제공한다. AWT 컴포넌트는 운영 체제의 네이티브 GUI 컴포넌트를 사용하여 렌더링 된다.
💻 예시 코드
import java.awt.*;
import java.awt.event.*;
public class AWTExample extends Frame {
public AWTExample() {
Button b = new Button("Click Me");
b.setBounds(30, 100, 80, 30);
add(b);
setSize(300, 300);
setLayout(null);
setVisible(true);
}
public static void main(String args[]) {
new AWTExample();
}
}
2. Java GUI 컴포넌트(Component)란
프로그래밍에 있어 재사용이 가능한 각각의 독립된 모듈을 뜻한다. 그림에서 확인할 수 있듯이 컴포넌트 기반 프로그래밍을 하면 마치 레고 블록처럼 이미 만들어진 컴포넌트를 조합하여 화면을 구성할 수 있다.
Java GUI 프로그래밍에서 사용되는 컴포넌트는 여러 유형이 있으며, 주로 AWT 및 Swing 라이브러리를 통해 제공된다. 각 컴포넌트는 사용자와의 상호작용을 가능하게 하는 요소를 포함한다.
💡 주요 컴포넌트
- 버튼(Button)
사용자가 클릭할 수 있는 버튼 - 텍스트 필드(TextField)
한 줄의 텍스트 입력을 허용 - 텍스트 에리어(TextArea)
여러 줄의 텍스트 입력을 허용 - 체크박스(Checkbox)
선택/해제가 가능한 상자 - 라디오 버튼(RadioButton)
그룹 내에서 하나만 선택할 수 있는 버튼 - 콤보 박스(ComboBox)
드롭다운 메뉴를 통해 옵션을 선택할 수 있는 요소 - 레이블(Label)
텍스트나 이미지를 표시하는 용도로 사용
컴포넌트(Component)란? - 하나몬
컴포넌트(Component)란 프로그래밍에 있어 재사용이 가능한 각각의 독립된 모듈을 뜻한다. 컴포넌트 기반 프로그래밍을 하면 마치 레고 블록처럼 이미 만들어진 컴포넌들을 조합하여 화면을 구성
hanamon.kr
- 출처 : hanamon
3. JFrame 및 Frame Layout
JFrame은 Swing의 기본적인 윈도우 프레임을 제공하며, 여러 가지 레이아웃 매니저를 사용하여 컴포넌트들의 배치를 관리할 수 있다.
💡 Layout 종류
- BorderLayout
컴포넌트를 동, 서, 남, 북, 중앙의 다섯 영역으로 구분하여 배치. - FlowLayout
컴포넌트를 줄 단위로 배치하며, 공간이 부족하면 다음 줄로 넘어감. - GridLayout
지정된 행과 열로 컴포넌트를 균등하게 배치. - BoxLayout
컴포넌트를 한 방향(수평 또는 수직)으로 연속적으로 배치. - CardLayout
컴포넌트를 카드처럼 겹쳐 놓고, 하나의 카드만 보이도록 하는 레이아웃.
💡 JFrame 주요 함수
함수 | 설명 |
new JFrame() | 새 프레임 생성 |
setDefaultCloseOperation() | 닫기 버튼의 동작 지정 |
getContentPane().add() | 컨텐츠 팬에 컴포넌트 추가 |
setLayout() | 프레임의 레이아웃 매니저 설정 |
pack() | 프레임에 맞추어 컴포넌트 크기 조절 |
setVisible() | 프레임을 보이게 설정 |
setSize() | 프레임의 크기 지정 |
setTitle() | 프레임의 제목 설정 |
[Java/Swing] 3강) Layout의 종류
저번강의 에서 컨테이너와 컴포넌트의 개념과 컨테이너에 컴포넌트를 추가하는 방법에 대해 간략하게 알아보았습니다. 이번강의에서는 컴포넌트들의 위치를 자동으로 지정해주는 Layout에 대해
yoo11052.tistory.com
- 출처 : yoo11052
[Swing-04]Layout(배치관리자)
만약 한구역에 두개이상의 컴포넌트를 배치하면 어떻게 될까?백문이 불여일견이니 한번 해보도록 하자. import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class TestSwing { public sta
kamang-it.tistory.com
- 출처 : kamang-it
4. Layout Event
Layout Events는 컨테이너 내의 컴포넌트들의 배치가 변경될 때 발생하는 이벤트이다.
이는 주로 레이아웃 매니저에 의해 트리거 되며, 컴포넌트의 추가, 삭제 또는 크기 조정 시에 발생할 수 있다.
💡 주요 메소드
메소드 | 설명 |
revalidate() | 레이아웃과 관련된 변경 사항을 갱신하고 다시 계산함 |
repaint() | 컴포넌트를 다시 그림 |
invalidate() | 컴포넌트 계층 구조의 유효성을 무효화하고 레이아웃을 새로고침함 |
5. Swing
Swing은 Java의 GUI 개발을 위한 라이브러리이다. 여기에는 다양한 컴포넌트와 기능이 포함되어 있으며, 이러한 기능들을 통해 사용자 인터페이스를 효과적으로 구성할 수 있다.
💻 예시 코드
import javax.swing.*;
public class SwingExample {
private static void createAndShowGUI() {
JFrame frame = new JFrame("Swing Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton button = new JButton("Click Me");
frame.getContentPane().add(button);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
💡 주요 메소드
메소 | 설명 |
new JButton("Label") | 레이블이 있는 버튼 생성 |
new JFrame("Title") | 타이틀이 있는 프레임 생성 |
new JTextField(20) | 20열의 텍스트 필드 생성 |
new JLabel("Text") | 텍스트 레이블 생성 |
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) | 프레임 닫을 때 애플리케이션 종료 |
pack() | 프레임 크기를 내용에 맞게 조절 |
setVisible(true) | 컴포넌트를 화면에 보이게 설정 |
setLayout(new BorderLayout()) | 프레임에 BorderLayout 레이아웃 설정 |
add(Component, BorderLayout.CENTER) | 지정된 위치에 컴포넌트 추가 |
addActionListener(ActionListener) | 버튼 등의 액션 이벤트 리스너 추가 |
[9] 자바 GUI 기초, AWT와 Swing
그래픽 이용, 사용자에게 이해하기 쉬운 모양으로 정보 제공 사용자는 마우스나 키보드를 이용하여 쉽게 입력강력한 GUI 컴포넌트 제공, 쉬운 GUI 프로그래밍GUI 컴포넌트와 그래픽 이용AWT 패키지
velog.io
- 출처 : seochan99
6. Mnemonic Key
Mnemonic Key는 사용자 인터페이스의 특정 요소에 대한 빠른 액세스를 제공하는 키보드 단축키이다.
Swing과 같은 GUI 라이브러리에서는 주로 메뉴 항목, 버튼 또는 다른 컨트롤에 Mnemonic Key를 설정하여, 사용자가 마우스 없이도 키보드만으로 해당 요소를 활성화할 수 있게 한다.
💡 작동 방식
Mnemonic Key는 일반적으로 Alt 키와 조합되어 사용된다. 예를 들어, 파일 메뉴에 Alt + F가 Mnemonic Key로 설정되어 있다면, 사용자가 Alt 키를 누른 상태에서 'F'를 누르면 파일 메뉴가 열린다. 이 방식은 특히 텍스트 편집기, 웹 브라우저, 그래픽 디자인 툴 등 다양한 어플리케이션에서 빠르게 메뉴에 접근해야 할 때 유용하다.
💡 구현 방법
Swing에서는 setMnemonic 메소드를 사용하여 컴포넌트에 Mnemonic Key를 설정할 수 있다. 이 메소드는 대상 컴포넌트의 레이블에 표시될 문자를 인수로 받는다. 예를 들어, JButton에 Mnemonic을 설정할 때는 다음과 같이 할 수 있다.
💻 예시 코드
JButton button = new JButton("Save");
button.setMnemonic(KeyEvent.VK_S); // 사용자가 'Alt + S'를 누르면 버튼이 활성화됨
Mnemonic Wallet 코드 공부 - eth-light-wallet
기능구현 목표 1. newMnemonic API 만들기 수도코드 mnemonic 변수를 만들기 응답 mnemonic 변수에 lightwallet.keystore.generateRandomSeed()의 결과값을 담아서 mnemonic를 응답으로 전송하기 에러가 생기면 에러로 응
next-block.tistory.com
- 출처 : next-block
'에이콘아카데미 회고 > 5회차) 자바기반 풀스택 개발자 양성과정' 카테고리의 다른 글
JAVA) 24번째 회고 (0) | 2024.05.02 |
---|---|
JAVA) 23번째 회고 (0) | 2024.05.01 |
JAVA, SQL) 21번째 회고 (0) | 2024.04.29 |
SQL) 20번째 회고 (0) | 2024.04.28 |
SQL) 19번째 회고 (0) | 2024.04.28 |