티스토리 뷰

back/Java

KH 28일차(AWT CheckboxEvent)

devel0per 2022. 8. 8. 19:44

28일차인 오늘은 CheckboxEvent에 대해서 학습했다.

 

실행코드)

package ja_0805;

import java.awt.*;

import java.awt.event.*;

 

class CheckboxEventTest extends Frame{

       Label q1;

       Label q2;

       Label score;

       Checkbox q1cb1, q1cb2, q1cb3, q1cb4;

       Checkbox q2cb1, q2cb2, q2cb3, q2cb4;

       CheckboxGroup group;

       Button end;

      

       CheckboxEventTest(String title){

             super(title); //Frame(String title)을 호출한다.

             setSize(500, 300);

             setLayout(new GridLayout(13,1));

            

             q1 = new Label("1. 다음중 ActionEvent의 actionPerformed메서드가 " + "호출되는 경우는? (모두 고르세요.)");

            

             q1cb1 = new Checkbox("Button을 눌렀을때");

             q1cb2 = new Checkbox("TextField에서 Enter키를 눌렀을때");

             q1cb3 = new Checkbox("MenuItem을 클릭했을때");

             q1cb4 = new Checkbox("List에서 더블킬릭으로 item을 선택했을 때");

            

             q2 = new Label("2. Frame의 기본 LayoutManager는? (하나만 고르세요.)");

             group = new CheckboxGroup();

             q2cb1 = new Checkbox("FlowLayout", group, false);

             q2cb2 = new Checkbox("GridLayout", group, false);

             q2cb3 = new Checkbox("BorderLayout", group, false);

             q2cb4 = new Checkbox("CardLayout", group, false);

            

             score = new Label("* 결과 :");

             end = new Button("이 버튼을 누르시면 결과를 알수 있습니다.");

             end.addActionListener(new ActionListener(){

                    public void actionPerformed(ActionEvent e){

                           float totalScore = 0;

                           if(q1cb1.getState()) totalScore += 12.5;

                           if(q1cb2.getState()) totalScore += 12.5;

                           if(q1cb3.getState()) totalScore += 12.5;

                           if(q1cb4.getState()) totalScore += 12.5;

                           if(q2cb3.getState()) totalScore += 50;

                           score.setText("* 결과 : 당신의 점수는 " + totalScore + "점 입니다.");

                    }

             });
          

             add(q1);

             add(q1cb1);  add(q1cb2);  add(q1cb3);  add(q1cb4);

             //문제들 사이에 빈 줄을 하나 삽입하기 위해 사용

             add(new Label(""));

             add(q2);

             add(q2cb1);  add(q2cb2);  add(q2cb3);  add(q2cb4);

             add(end);

             add(score);

            

             setVisible(true);

       }

       public static void main(String args[]){

             CheckboxEventTest mainWin = new CheckboxEventTest("CheckboxEventTest - Quiz");

       }

}

실행결과)

 

위쪽은 Checkbox로 만들어서 다중 선택이 가능하도록 만들고, 각 이벤트를 첨가하여 totalScore에 점수를 더해주고 있고,

아래쪽은 groupCheckbox를 만들어서 하나만 선택이 가능하도록 만들고, 각 이벤트를 붙혀서 totalScore에 점수를 더해준다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크