Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- C언어로 쉽게 풀어쓴 자료구조
- 프로그래머스 #정수삼각형 #동적계획법
- Message Passing
- nodejs
- 공부시간측정어플
- discord.js
- 갓생
- 2156
- Chrome Extension
- popup
- 캠스터디
- 백준 #7568번 #파이썬 #동적계획법
- content script
- 디스코드 봇
- background script
- 포도주시식
- 백준
- TypeScript
- 백준 7579
- 파이썬
- react
- webpack
- 자료구조
- supabase
- 크롬 익스텐션
- X
- 크롬 확장자
- 동적계획법
Archives
- Today
- Total
히치키치
[명품 자바 에센셜] 실습문제 8장 본문
1번
import javax.swing.*;
public class one extends JFrame {
public one() {
setTitle("Lest's study Java");
setSize(400,200);
setVisible(true);
}
public static void main(String[] args) {
new one();
}
}
2번
import javax.swing.*;
import java.awt.*;
public class two extends JFrame{
public two() {
//프레임 타이틀
setTitle("BorderLayout");
//프레임 종료 기능
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//컨테인 팬 하나 받아오기
Container contentPane=getContentPane();
//컨탠트 팬에 배치 관리자 배정(hGap,vGap)
contentPane.setLayout(new BorderLayout(50,5));
//컨텐트 팬에 버튼 추가 & 배열
contentPane.add(new JButton("North"),BorderLayout.NORTH);
contentPane.add(new JButton("Center"),BorderLayout.CENTER);
contentPane.add(new JButton("South"),BorderLayout.SOUTH);
contentPane.add(new JButton("East"),BorderLayout.EAST);
contentPane.add(new JButton("West"),BorderLayout.WEST);
//프레임 사이즈
setSize(400,200);
setVisible(true);
}
public static void main(String[] args) {
new two();
}
}
3번
import javax.swing.*;
import java.awt.*;
public class three extends JFrame {
public three() {
//프레임 타이틀 설정
setTitle("FlowLayout");
//프레임 종료 설정
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//컨텐트팬 생성
Container container=getContentPane();
//컨텐트팬 배치관리자 설정
container.setLayout(new FlowLayout());
//배치관리자에 JLabel과 JButton 올려
container.add(new JLabel("100+200"));
container.add(new JButton("="));
container.add(new JLabel("300"));
//프레임 사이즈 설정
setSize(400,100);
//프레임 보이게!!
setVisible(true);
}
public static void main(String[] args) {
new three();
}
}
4번
import java.awt.*;
import javax.swing.*;
public class four extends JFrame {
public four(){
//프레임 타이틀 설정
setTitle("Ten Color Button Frame");
//프레임 종료 설정
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//컨텐트팬 설정
Container container=getContentPane();
//컨텐트팬 배치 관리자 생성
container.setLayout(new GridLayout(1,10));
//컨텐트팬 위에 올린 버튼 색상 배열
Color [] color= {Color.RED,Color.ORANGE,Color.GREEN,
Color.CYAN,Color.BLUE,Color.MAGENTA,
Color.GRAY,Color.DARK_GRAY,
Color.PINK,Color.LIGHT_GRAY};
//컨텐트 팬에 JButton 올리는 반복문
for(int i=0;i<10;i++) {
//JButton 생성 & 버튼에 번호 부여
JButton button=new JButton(Integer.toString(i));
//버튼 눈에 보이게!! 불투명해보이게!!
button.setOpaque(true);
//버튼 배경색 설정 : 버튼 색상 배열 순차적으로 돌며
button.setBackground(color[i]);
//button 설정 다 한거 컨텐트팬에 부착
container.add(button);
}
setSize(500,200);
setVisible(true);
}
public static void main(String[] args) {
new four();
}
}
5번
import java.awt.*;
import javax.swing.*;
public class five extends JFrame{
public five() {
setTitle("4x4 Color Frame");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container container=getContentPane();
container.setLayout(new GridLayout(4,4));
Color[] color= {Color.RED,Color.ORANGE,Color.YELLOW,Color.GREEN,
Color.CYAN,Color.BLUE,Color.MAGENTA,Color.DARK_GRAY,
Color.PINK, Color.GRAY,Color.WHITE,Color.BLACK,
Color.BLACK,Color.ORANGE,Color.BLUE,Color.MAGENTA};
for(int i=0;i<16;i++) {
JLabel label=new JLabel(Integer.toString(i));
label.setBackground(color[i]);
label.setOpaque(true);
container.add(label);
}
setSize(400,200);
setVisible(true);
}
public static void main(String[] args) {
new five();
}
}
6번
import javax.swing.*;
import java.awt.*;
public class six extends JFrame{
public six() {
setTitle("Random Labels");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container container=getContentPane();
for(int i=0;i<19;i++) {
JLabel label=new JLabel(Integer.toString(i));
int x=(int)(Math.random()*220+30);//30~250 사이 랜덤 x
int y=(int)(Math.random()*220+30);//30~250 사이 랜덤 y
label.setSize(20,20);
/* label.setLayout(null) : Default로 설정되어있던 배치관리자 삭제하고 : 필요없음
배치관리자가 default로 배정되는 것은 컨테이너/패널 같이 담는 것들,,,,*/
//내가 직접 컴포넌트의 절대 위치 설정
label.setLocation(x, y);
label.setForeground(Color.MAGENTA);
container.add(label);
}
setSize(300,300);
setVisible(true);
}
public static void main(String[] args) {
new six();
}
}
7번
import javax.swing.*;
import java.awt.*;
public class seven extends JFrame {
public seven() {
//JFrame 생성자를 호출해 타이틀 설정
super("3개의 패널을 가진 프로그램");
//프레임 종료
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//컨텐트팬 생성
Container container=getContentPane();
//북 중앙 남쪽에 패널 패치하기 위해 BorderLayout 배치 관리자 생성
container.setLayout(new BorderLayout());
//첫번째 패널 생성 : p1 : 상단
JPanel p1=new JPanel();
//p1 배경색 : Yellow
p1.setBackground(Color.YELLOW);
//FlowLayout는 FLowLayout.CENTER를 Default로 중앙 기준 차례로 정렬 진행
p1.setLayout(new FlowLayout());
p1.add(new JButton("새로 배치")); //p1 위 첫번째 버튼
p1.add(new JButton("종료"));//p1 위 두번째 버튼
//p1 설정 다 하고 컨텐트펜 북쪽에 부착
container.add(p1,BorderLayout.NORTH);
//두번째 패널 생성 : p2 : 중앙
JPanel p2=new JPanel();
/*p2에 담길 JLabel의 위치를 직접 설정 할 것임
p2는 panel로 default로 배정되는 배치관리자 삭제
이거 없으면 상단의 중앙에 나란히 차례로 ****** 출력됨*/
p2.setLayout(null);
// * 10개 랜덤 위치 생성
for(int i=0;i<10;i++) {
JLabel label=new JLabel("*"); //* 생성
/* label.setLayout(null) : 필요없음
배치관리자가 default로 배정되는 것은 컨테이너/패널 같이 담는 것들,,,,
*/
int x=(int)(Math.random()*200)+50;//50~250 사이 x좌표
int y=(int)(Math.random()*150)+50;//50~200 사이 y좌표
label.setForeground(Color.MAGENTA);
label.setOpaque(true);
label.setLocation(x, y);
label.setSize(20,20);
/*컴포넌트 절대 위치 정하기 : setBounds(위치 가로, 위치 세로, 폭, 높이)
label.setBounds(x, y, 20, 20);로
setLocation(x,y)와 setSize(20,20)를 한 번에 표현 */
p2.add(label); // 패널에 * label올려
}
//p2를 컨텐트팬 중앙으로 배치/추가
container.add(p2,BorderLayout.CENTER);
//두번째 패널 생성 : p3 : 중앙
JPanel p3=new JPanel();
p3.setLayout(new FlowLayout()); //중앙을 기준으로 차례로 버튼 배치
p3.add(new JButton("별 갯수 수정")); //버튼 추가
/*p3.add(new JButton("별 갯수 수정").FlowLayout.Left)
: 왼쪽에 배치한다는 소리가 아님..
p3.setLayout(new FlowLayout(FlowLayout.LEFT,30,40))
: 정렬기준, hGap, VGap 인자로 받아서 배치 관리
*/
p3.setBackground(Color.LIGHT_GRAY); //패널 배경색 지정
p3.add(new JTextField(15));//텍스트 입력칸 추가
//버튼이랑 텍스트입력칸 추가된 패널를 컨텐트 팬에 남쪽에 배치/추가
container.add(p3,BorderLayout.SOUTH);
//프레임 사이즈
setSize(300,300);
//프레임 보이기
setVisible(true);
}
public static void main(String[] args) {
new seven();
}
}
'명품 자바 에센셜' 카테고리의 다른 글
[명품 자바 에센셜] 실습문제 9장 (0) | 2021.09.01 |
---|---|
[명품 자바 에센셜] 실습문제 7장 (0) | 2021.09.01 |
[명품 자바 에센셜] 실습문제 6장 (0) | 2021.09.01 |
[명품 자바 에센셜] 실습문제 5장 (0) | 2021.09.01 |
[명품 자바 에센셜] 실습문제 3장 (0) | 2021.04.12 |
Comments