목표 : JButton(버튼)을 배열의 문자열만큼 만들어보자
1. 문자열 4개를 msg배열에 담아준다.
String[] msg = {"입력", "확인", "옵션", "메시지"};
2. JButton 타입의 배열변수를 만들어준다.
JButton[] btn = new Jbutton[4];
3. msg 문자열들을 btn 배열로 옮겨준다.
for(int i = 0; i<btn.length; i++){
btn[i] = new JButton(msg[i]);
}
4. 프레임을 생성해주고 버튼을 붙여준다.
JFrameTest f = new JFrameTest(); // JFrame의 인스턴스를 만들고 그것을 f변수에 담아주었다.
f.setLayout(new FlowLayout()); // f 변수를 통해서 setLayout을 호출해서 레이아웃을 설정해주었다.
for(int i = 0; i<btn.length;i++) {
f.add(btn[i]); // 판넬에 버튼 붙여주기
}
5. 버튼 붙여주고 클릭이벤트(리스너) 만들기
ActionListener al = new ActionListener() {
ActionListener은 익명메서드 또는 람다식으로 만들수있다.
@Override
public void actionPerformed(ActionEvent e) {
actionPerformed : 버튼이나 다른 액션 이벤트가 발생했을 때 실행할 코드를 작성합니다.
switch(e.getActionCommand()) {
//버튼의 문자열을 출력한다.
case "입력":
String name = JOptionPane.showInputDialog("이름을 입력하세요");
입력버튼을 누르면 데이터를 입력하는 다이얼로그가 등장한다.
System.out.println(name);
입력한 데이터가 콘솔에 출력된다.
break;
case "확인":
int con = JOptionPane.showConfirmDialog(f, "확인?"); //예(0), 아니오(1), 취소(2)
확인버튼을 누르면 예, 아니오, 취소 버튼이 나온다. 각각의 버튼은 값을 가지고있다.
System.out.println(con);
break;
case "옵션":
String[] option = {"검색","추가","취소"};
JOptionPane.showOptionDialog(f, "원하는 직업선택", "옵션 대화상자", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE, null, option, null);
break;
case "메시지":
JOptionPane.showMessageDialog(f, "메세지 대화상자");
메시지를 선택하면 메시지 다이얼로그가 등장한다.
break;
}
}
};
//버튼의 이벤트 부착
for(int i = 0; i<btn.length; i++) {
btn[i].addActionListener(al);
}
'(혼) (공) (web)' 카테고리의 다른 글
04.22(복습) - Intstream (0) | 2024.04.22 |
---|---|
Iterator (0) | 2024.04.19 |
람다식 (0) | 2024.04.19 |
Buffered - BufferedInputStrem, BufferedReader (0) | 2024.04.19 |
InputStream, OutStream, FileReader, FileWriter (0) | 2024.04.19 |