AbsoluteLayout 은 X, Y 좌표를 이용해 구성요소를 배치할 수 있습니다. X, Y 좌표는 setBounds() 함수로 설정가능합니다. 다만 프레임의 끝을 만나도 줄바꿈하지 않고 배치되며, 넘치는 경우 짤려서 나오게 됩니다.


매개변수:

getContentPane().serLayout( null )

getContentPane().setBounds(x, y, width, height);
x/y 절대 좌표, width/height 크기 설정


// ex.1)
import javax.swing.JFrame;
 
import java.awt.Color;
import java.awt.Container;
import javax.swing.JLabel;
import javax.swing.JTextField;
import java.awt.Font;
 
public class Ex07 extends JFrame{
    Container c = getContentPane();
    private JTextField f1;
    private JLabel h1, t1 = null; 
             
    public Ex07() {
        // AbsoluteLayout 을 이용하기 위해 
        // null 을 입력합니다.
        c.setLayout(null);
         
         
        // 레이블을 하나 만들어서
        h1 = new JLabel("제목입니다.");
        // 글꼴을 굴림으로 하고, 굵게, 이탤릭체, 크기 21 로 설정합니다. 
        h1.setFont(new Font("굴림", Font.BOLD | Font.ITALIC, 21));
        // x/y좌표 12, 10 인 위치를 지정하고
        // 크기 가로 130, 세로 25 인 레이블을 만듭니다.
        h1.setBounds(12, 10, 130, 25);
        c.add(h1);
                 
                 
        // 레이블을 하나 만들어서
        t1 = new JLabel("추천");
        // x/y좌표 12, 245 인 위치를 지정하고
        // 크기 가로 57, 세로 15 인 레이블을 만듭니다.
        t1.setBounds(12, 245, 57, 15);
        c.add(t1);
         
         
        // 텍스트 입력폼을 하나 만들어서
        f1 = new JTextField();
        // x/y좌표 40, 242 인 위치를 지정하고
        // 크기 가로 30, 세로 21 인 필드를 만듭니다.
        f1.setBounds(40, 242, 30, 21);
        c.add(f1);
         
         
         
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(500, 500);
         
    }
    public static void main(String[] args) {
        new Ex07();
    }
}

 

0 댓글