외부크래스 $내부클래스.class
내부클래스의 이름이 없으면 숫자로 처리
*생성자
클래스 이름과 같음
객체 초기화
new 명령어로 자동 호출
new A();
class A {
public A() {}
}
*레이아웃
BoraderLayout -화면을 5개 영역으로 배분
FlowLayout - 순서대로 배치
GridLayout - 격자 모뱡
AbsoluteLayout -(null layout) -절대 좌표)
* 컴포넌트와 컨테이너
컴포넌트 :부품, GUI 프래그래밍의 화면 구성 요소
컨테이너 : 그릇 역할을 하는 컴포넌트
JFrame - 독립적으로 창을 띄울 수 있음, 기본 레이아웃 (BorderLayout)
target 이 생략 되면 center 기본값
JPanel - 독립적으로 창을 띄울 수 없음, 기본 레이아웃( FlowLayout)
class AbsoluteTest
package java8;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class AbsoluteTest extends JFrame {
//멤버변수
JButton b1, b2, b3;
public AbsoluteTest() {
setTitle("절대 좌표");
setDefaultCloseOperation(EXIT_ON_CLOSE);// 닫기 동작 설정
setSize(400, 200); // 프레임의 가로, 세로 사이즈 설정
JPanel p =new JPanel(); //Panel 객체 생성
p.setLayout(null); // null layout=> 절대좌표 사용
b1=new JButton("버튼1");
p.add(b1); // 패멀에 버튼 추가
b2=new JButton("버튼2");
p.add(b2);
b3=new JButton("버튼3");
p.add(b3);
//버튼의 범위 설정(x, y , width, height)
b1.setBounds(20, 5 ,95, 30);
b2.setBounds(55, 45, 105, 70);
b3.setBounds(180, 15, 105, 90);
this.add(p);//프레임에 패널을 붙임
setVisible(true);// 프레임을 화면에 표시
}
public static void main(String[] args) {
new AbsoluteTest();
}
}
댓글 ( 4)
댓글 남기기