컨테이너 : 다른 구성요소들을 포함할 수 있는 객체
자기 자신도 다른 컨테이너에 포함될 수 있다.
컨테이너 클래스 :
JPanel
JFrame : GUI 틀 그자체
JDialog : 팦업창,알람창
컴포넌트 : 컨테이너에 포함되어야 출력될 수 있는 객체
최상위 컨테이너 :
setBounds(x,y,width,height)
setTitle("String title")
setdefaultcloseoperation("") = 창을 닫을때 기본적으로 실행되는 이벤트성 코드
setLocation(int Left,int Top) = 왼쪽을 기준으로 얼마나,상단을 기준으로 얼마나
JLabel, JTextfield, JButton의 속성
JButton
JButton은 단독적으로 쓰이기 보다는 클릭했을때 어떠한 기능을 작동시킨다
이벤트 리스너를 추가하여 같이 동작한다.
**배열을 사용해 반복구조를 표현하는 방법
ex)
String[] name = {"1번", "2번", "3번"};
for(int i =0; i< name.length;i++) {
JButton jb = new JButton(name[i]);
jb.setSize(140,50);
jb.setLocation(20, 40+70*i);
jf.add(jb);
}
버튼과 이벤트 리스너의 사용예시 기본편
class FrameLayout implements ActionListener{
public void FrameLayout() {
JFrame jf = new JFrame();
jf.setSize(300,300);
jf.setTitle("JButton 구현하");
jf.setLayout(null);
jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);
String[] name = {"1번", "2번", "3번"};
for(int i =0; i< name.length;i++) {
JButton jb = new JButton(name[i]);
jb.setSize(140,50);
jb.addActionListener(this);
//jb 버튼에 이벤트 리스너를추가
// 아래 actionPerformed 메소드는 클릭할 때마다 작
jb.setLocation(70, 40+70*i);
jf.add(jb);
}
jf.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
JOptionPane.showMessageDialog(null, "이벤트 발생\n" + e.getActionCommand()+ "입니다.");
}
Grid 레이아웃