이번시간은 JCheckBox 입니다.
저번에 했던 JButton과 같은 소스로 진행하며, 생략된 부분이 많으니 꼭 참고하세요^^
우선 SWING을 실행시킵니다.
소스를 그대로 실행시키면 아래와 같은 화면을 보실 수 있습니다.
물론 Design tab을 누르셔야 되용^^
혹시나 Design tab이 안나온다면
SWING Design tab 안보일때 로 들어가셔서 참고 바랍니다.
다시 본론으로 들어가서 아래 그림에서 왼쪽의 하일라이트 해놓은 곳이 JCheckBox 이구요~
오른쪽은 추가를 한 모습입니다.
그리고 추가를 하셨으니 이름을 넣어줘야겠죠~
JButton에서도 말했듯이
Variable은 Source에서 사용할 이름. 즉 JCheckBox에 대한 변수명이구요.
text는 단순히 GUI에 나타낼 text(이름) 입니다.
이제 Source로 가볼께용.
serverSWING.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public class serverSWING implements ActionListener,ItemListener{ private JFrame frame; private JTextField portNum; private JButton btnServerOpen,btnClear,btnSend; public static JEditorPane commText; ServerSocket ss; Socket socket; InetAddress ia; Thread server; public static JButton btnServerClose; public static boolean disconnected=true; private JEditorPane sendText; public static boolean echoEnable=false; private JCheckBox checkEcho; private JScrollPane scrollPane; } | cs |
소스는 어제와 같으니 간단히 설명하고 넘어갈께요.
Line 1 : 'ItemListener' 가 JCheckBox에 대한 리스너 입니다.(Actionlistener는 JButton에서 봤죠?)
Line 14 : 그리고 여기서 JCheckBox를 선언해 줬어요.
아래는 초기화 코드입니다.
1 2 3 4 | checkEcho = new JCheckBox("Echo Mode"); checkEcho.setBounds(493, 375, 119, 23); frame.getContentPane().add(checkEcho); checkEcho.addItemListener(this); | cs |
Line 1~3 : JCheckBox를 할당하고 위치를 지정해서 GUI에 붙여주는 겁니다.
이건 어차피 Design tab에서 자동으로 만들어준거구요.~
Line 4 : 이부분이 처음 만들면 다르게 나오는데 위와같이 해주셔야 implement로 사용할 수 있습니다.
이부분이 ItemListener를 implement하면 자동으로 생성되는 코드입니다.
이곳에서 JCheckBox를 선택하고 해지했을때 할일들을 코딩해주시면 됩니다.
1 2 3 4 5 6 7 8 9 10 | @Override public void itemStateChanged(ItemEvent e) { if(e.getSource()==checkEcho){ if(ItemEvent.SELECTED==e.getStateChange()) echoEnable=true; else echoEnable=false; System.out.println("now echoEnable: "+echoEnable); } } | cs |
Line 3 : 'e.getSource()' 이건 JButton 할때도 설명했듯이 JCheckBox의 변수명과 대입되는 부분입니다.
Line 4: 'ItemEvent.SELECTED' 는 JCheckBox가 선택되었다는 의미인데 int형으로 '1'이네용.
뒤에나오는 'e.getStatechange()'가 변화된게 '1'이 되면 JCheckBox가 선택이 된거죠.
그리해서 선택되었을 때 전 부울변수(echoEnable)를 하나 만들어 true로 선택이 안되면 false로 바꿔주었습니다.
'Study > JAVA' 카테고리의 다른 글
JAVA SWING JOptionPane showConfirmDialog (2) | 2015.02.12 |
---|---|
JAVA SWING JOptionPane showMessageDialog (2) | 2015.02.12 |
JAVA SWING JButton (0) | 2015.02.12 |
JAVA SWING echo server (0) | 2015.02.12 |
eclipse에서 swing design tab 안보일때~ (1) | 2015.02.12 |