외부크래스 $내부클래스.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)  
댓글 남기기