1. JButton
-버튼 컴포넌트이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
package GUI;
import javax.swing.*;
public class GUI_JButton extends JFrame {
public GUI_JButton() {
setTitle("JButton 예제");
//컨테이너를 만들어야 한다.
JPanel container1 = new JPanel();
//1.컴포넌트를 만들자.
JButton button1 = new JButton("버튼1");
JButton button2 = new JButton("버튼2");
JButton button3 = new JButton("버튼3");
//2.컨테이너에 컴포넌트를 올려야 한다.
container1.add(button1);
container1.add(button2);
container1.add(button3);
//3.프레임에 컨테이너를 올려야 한다.
add(container1);
setBounds(200, 200, 300, 300);
setVisible(true);
pack();
}
public static void main(String[] args) {
new GUI_JButton();
}
}
|
cs |
2. JCheckBox
-이미지와 이름, 체크할 수 있는 버튼이 나옴.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
package GUI;
import javax.swing.*;
public class GUI_JCheckBox extends JFrame {
public GUI_JCheckBox() {
setTitle("과일 체크박스 예제");
//컨테이너를 만들자.
JPanel container = new JPanel();
//1-1 과일 이미지 아이콘을 만들어 보자.
ImageIcon kiwi = new ImageIcon("images/kiwi.jpg");
ImageIcon mango = new ImageIcon("images/mango.jpg");
ImageIcon apple = new ImageIcon("images/apple.jpg");
//1-2 컴포넌트를 만들어 보자.
JCheckBoxMenuItem jcb1 = new JCheckBoxMenuItem("키위", kiwi);
JCheckBoxMenuItem jcb2 = new JCheckBoxMenuItem("망고", mango);
JCheckBoxMenuItem jcb3 = new JCheckBoxMenuItem("사과", apple);
//2. 컨테이너에 컴포넌트를 올려야 한다.
container.add(jcb1);
container.add(jcb2);
container.add(jcb3);
//3. 프레임에 컨테이너 올리기
add(container);
setBounds(200, 200, 300, 600);
setVisible(true);
//프레임크기 조절 메서드. false -> 조절 불가
setResizable(false);
//프레임의 x버튼 클릭 시 종료시키는 메서드
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new GUI_JCheckBox();
}
}
|
cs |
3. JRadioButton
** 버튼그룹을 만들어야 하나 체크했을 때 나머지의 체크가 풀리게 됨. **
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
package GUI;
import javax.swing.*;
public class GUI_JRadioButton extends JFrame {
public GUI_JRadioButton() {
setTitle("JRadioButton 예제");
JPanel container = new JPanel();
//1.컴포넌트를 만들자.
JRadioButton jrb1 = new JRadioButton("게임");
JRadioButton jrb2 = new JRadioButton("여행");
JRadioButton jrb3 = new JRadioButton("운동");
JRadioButton jrb4 = new JRadioButton("잠자기");
//***라디오버튼은 반드시 버튼 그룹에 올려져야 한다.
ButtonGroup bg = new ButtonGroup();
bg.add(jrb1); bg.add(jrb2); bg.add(jrb3); bg.add(jrb4);
//2.컨테이너에 컴포넌트를 올려야 한다.
container.add(jrb1); container.add(jrb2);
container.add(jrb3); container.add(jrb4);
//3.프레임에 컨테이너를 올려야 한다.
add(container);
setBounds(200, 200, 300, 300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new Ex09_JRadioButton();
}
}
|
cs |
3. JToggleButton
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
package GUI;
import javax.swing.*;
public class GUI_JToggleButton extends JFrame {
public GUI_JToggleButton() {
setTitle("JToggleButton 예제");
//컨테이너를 만들자.
JPanel container = new JPanel();
//1.컴포넌트 만들기
JToggleButton jtb1 = new JToggleButton("토글버튼1");
JToggleButton jtb2 = new JToggleButton("토글버튼2");
JToggleButton jtb3 = new JToggleButton("토글버튼3");
JToggleButton jtb4 = new JToggleButton("토글버튼4");
//2.컨테이너에 컴포넌트 올리기
container.add(jtb1); container.add(jtb2); container.add(jtb3); container.add(jtb4);
//3.프레임에 컨테이너 올리기
add(container);
setBounds(200, 200, 300, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new GUI_JToggleButton();
}
}
|
cs |
4. JComboBox
박스에 들어갈 문자열들을 문자열 배열을 만들어서 넣어준다.
setSelectedIndex(index) 또는 setSelectedItem("String")을 통해서 실행시
기본으로 선택되어 있는 아이템을 골라줄 수 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
package GUI;
import javax.swing.*;
public class GUI_JComboBox extends JFrame {
public GUI_JComboBox() {
setTitle("JComboBox 예제");
//컨테이너 생성
JPanel container = new JPanel();
//1.컴포넌트 생성.
String[] job = {"회사원", "공무원", "학생", "주부", "무직", "기타"};
JComboBox<String> jcb = new JComboBox<String>(job);
//콤보박스의 디폴트 설정.
// jcb.setSelectedIndex(2); 또는
jcb.setSelectedItem("학생");
//2.컨테이너에 컴포넌트 올리기.
container.add(jcb);
//3.프레임에 컨테이너 올리기.
add(container);
setBounds(200, 200, 300, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new GUI_JComboBox();
}
}
|
cs |
5. JList
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
package GUI;
import javax.swing.*;
public class GUI_JList extends JFrame {
public GUI_JList() {
//제목 생성
setTitle("JList 예제");
//컨테이너 생성
JPanel container = new JPanel();
//1.컴포넌트생성
String[] job = {"회사원", "공무원", "학생", "주부", "무직", "기타"};
JList<String> list = new JList<String>(job);
//2.컨테이너에 컴포넌트 넣기.
container.add(list);
//3.프레임에 컨테이너 올리기.
add(container);
setBounds(200, 200, 300, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new GUI_JList();
}
}
|
cs |
6. JLable & JTextField
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
package GUI;
import javax.swing.*;
public class GUI_JLabel_JTextField extends JFrame {
public GUI_JLabel_JTextField() {
//제목 생성
setTitle("JLabel&JTextField 예제");
//컨테이너 만들기
JPanel container = new JPanel();
//1.컴포넌트 만들기
JLabel jl1 = new JLabel("이름 : ");
JTextField name = new JTextField(15);
JLabel jl2 = new JLabel("학과 : ");
JTextField major = new JTextField(15);
JLabel jl3 = new JLabel("주소 : ");
JTextField addr = new JTextField(15);
//2.컨테이너에 컴포넌트 올리기
container.add(jl1); container.add(name);
container.add(jl2); container.add(major);
container.add(jl3); container.add(addr);
//3.프레임에 컨테이너 올리기
add(container);
setBounds(200, 200, 250, 250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new GUI_JLabel_JTextField();
}
}
|
cs |
7. JTable
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
package GUI;
import javax.swing.*;
public class GUI_JTable extends JFrame {
public GUI_JTable() {
//JTable 컴포넌트는 컨테이너에 올리지 않고 바로 JFrame에 올려주면 된다.
//1.컴포넌트 생성
String[] header = {"학생이름", "국어점수", "영어점수", "수학점수", "자바점수"};
String[][] contents = {
{"홍길동1", "100", "100", "100", "100"},
{"홍길동2", "00", "100", "100", "100"},
{"홍길동3", "90", "100", "100", "100"},
{"홍길동4", "70", "90", "100", "100"},
{"홍길동5", "80", "80", "100", "100"},
{"홍길동6", "85", "70", "100", "100"},
{"홍길동7", "90", "60", "100", "100"},
{"홍길동8", "95", "50", "100", "100"},
{"홍길동9", "75", "30", "100", "100"},
{"홍길동0", "60", "10", "100", "100"},
};
JTable table = new JTable(contents, header);
//1-1 스크롤바 만들기
JScrollPane jsp = new JScrollPane(
table,
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER
);
//스크롤바가 보여질 컴포넌트, 수직 스크롤바 설정, 수평 스크롤바 설정
//2.프레임에 컴포넌트 올리기.
add(jsp);
setBounds(200,200,300,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new GUI_JTable();
}
}
|
cs |
JTable(Object[][] rowData, Object[] columnData); 를 사용해서 만들었음.
8. JTabbedPane
컴포넌트를 컨테이너에 담고 그 컨테이너를 탭에 담고 프레임에 탭을 추가해서 출력하는 방식.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
package GUI;
import java.awt.Color;
import javax.swing.*;
public class GUI_JTabbedPane extends JFrame {
public GUI_JTabbedPane() {
setTitle("JTabbedPane 예제 ");
JTabbedPane tab = new JTabbedPane();
//1.탭의 개수만큼 컨테이너가 필요.
JPanel container1 = new JPanel();
JPanel container2 = new JPanel();
JPanel container3 = new JPanel();
//1-1. 컨테이너마다 배경색을 다르게 지정해 보자.
container1.setBackground(Color.BLUE);
container2.setBackground(Color.ORANGE);
container3.setBackground(Color.WHITE);
//2. 컴포넌트를 만들어 보자.
//2-1 첫번째 탭에 들어갈 컴포넌트를 만들어 보자.
JButton jb1 = new JButton("버튼1");
JButton jb2 = new JButton("버튼2");
JButton jb3 = new JButton("버튼3");
//2-1-1. 첫번째 탭에 올려질 컴포넌트를 컨테이너에 올려야 한다.
container1.add(jb1); container1.add(jb2); container1.add(jb3);
//2-2 두번째 탭에 들어갈 컴포넌트를 만들기.
JCheckBox jcb1 = new JCheckBox("여행");
JCheckBox jcb2 = new JCheckBox("운동");
JCheckBox jcb3 = new JCheckBox("게임");
JCheckBox jcb4 = new JCheckBox("축구");
//2-2-1. 두번째 탭에 올려질 컴포넌트를 컨테이너에 올리기.
container2.add(jcb1); container2.add(jcb2);
container2.add(jcb3); container2.add(jcb4);
//2-3. 세번째 탭에 들어갈 컴포넌트를 만들어 보자.
JLabel jl1 = new JLabel("이 름: ");
JTextField name = new JTextField(20);
JLabel jl2 = new JLabel("연락처: ");
JTextField phone = new JTextField(20);
JLabel jl3 = new JLabel("주 소: ");
JTextField addr = new JTextField(20);
//2-3-1. 세번째 탭에 올려질 컴포넌트를 컨테이너에 올리기.
container3.add(jl1); container3.add(name);
container3.add(jl2); container3.add(phone);
container3.add(jl3); container3.add(addr);
//3. 컨테이너들을 탭에 올리기.
tab.add("버튼 탭", container1);
tab.add("체크박스 탭", container2);
tab.add("개인정보 탭", container3);
//4. 프레임에 탭을 올리기.
add(tab);
setBounds(200, 200, 330, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new GUI_JTabbedPane();
}
}
|
cs |
9. JMenu
JMenu는 하위 아이템을 가지는 상위 카테고리 같은 느낌이고
JMenuItem은 JMenu 안에 넣을 녀석들임.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
package sist;
import javax.swing.*;
public class GUI_JMenu extends JFrame {
public GUI_JMenu() {
setTitle("메뉴");
JMenuBar bar = new JMenuBar();
//1.메뉴 만들기.
JMenu jMenu1 = new JMenu("파일");
JMenu jMenu2 = new JMenu("글자");
JMenu jMenu3 = new JMenu("도움말");
JMenu jMenu4 = new JMenu("글자체");
JMenu jMenu5 = new JMenu("바탕색");
//2. 메뉴아이템을 만들어 보자.
//2-1. "파일" 이라는 메뉴에 들어갈 메뉴아이템을 만들어 보자.
JMenuItem jmi1 = new JMenuItem("새파일");
JMenuItem jmi2 = new JMenuItem("열 기");
JMenuItem jmi3 = new JMenuItem("저 장");
JMenuItem jmi4 = new JMenuItem("종 료");
//2-2. "글자 -> 글자체" 라는 메뉴에 들어갈 메뉴아이템 만들기
JMenuItem jmi5 = new JMenuItem("굴림, 기본, 10");
JMenuItem jmi6 = new JMenuItem("궁서, 굵게, 20");
JMenuItem jmi7 = new JMenuItem("돋움, 기울기, 30");
//2-3. "글자 -> 바탕색" 메뉴에 들어갈 메뉴아이템 만들기.
JMenuItem jmi8 = new JMenuItem("노란색");
JMenuItem jmi9 = new JMenuItem("회 색");
JMenuItem jmi10 = new JMenuItem("초록색");
//2-4. "도움말"이라는 메뉴에 들어갈 메뉴아이템 만들기.
JMenuItem jmi11 = new JMenuItem("도움말");
JMenuItem jmi12 = new JMenuItem("메모장 정보");
//3. 메뉴아이템(JMenuItem)을 메뉴(JMenu)에 올려주어야 한다.
//3-1. "파일"이라는 메뉴에 들어갈 메뉴아이템을 만들어 보자.
jMenu1.add(jmi1); jMenu1.add(jmi2); jMenu1.add(jmi3);
jMenu1.addSeparator();
jMenu1.add(jmi4);
//3-2. "글자체" 메뉴에 들어갈 메뉴아이템 올리기.
jMenu4.add(jmi5); jMenu4.add(jmi6); jMenu4.add(jmi7);
jMenu2.add(jMenu4);
jMenu2.addSeparator();
jMenu5.add(jmi8); jMenu5.add(jmi9); jMenu5.add(jmi10);
jMenu2.add(jMenu5);
//3-3. "도움말" 메뉴에 들어갈 메뉴아이템을 올려야 한다.
jMenu3.add(jmi11);
jMenu3.addSeparator();
jMenu3.add(jmi12);
//4. 메뉴바에 메뉴올리기.
bar.add(jMenu1); bar.add(jMenu2); bar.add(jMenu3);
//5. 프레임에 메뉴바를 올려주어야 한다.
setJMenuBar(bar);
setBounds(200, 200, 300, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new GUI_JMenu();
}
}
|
cs |
jmenu.addseperator(); 를 통해 구분선을 넣을 수도 있음.
'국기훈련과정 > JAVA 복습노트' 카테고리의 다른 글
13. GUI_다중 화면 예제 (0) | 2021.09.01 |
---|---|
13. GUI_Event 예제 (0) | 2021.08.27 |
13. GUI_Event (0) | 2021.08.27 |
13. GUI_03 (0) | 2021.08.26 |
13. GUI_01 (0) | 2021.08.26 |