Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

290570

5.31 과제 본문

java_spring (2024.05 ~ 2024.10)

5.31 과제

qordpsem 2024. 5. 31. 17:48

#무료 암검진 판별, 별자리 판별, 사주 팔자, 숫자한글변환 프로그램 중 하나 이상 선택하여 GUI로 만들기

 

 

 

 

#1차 시도

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;


public class CancerTest extends JFrame {
    JLabel jlb_result;
    String[] age = {"40세 미만","40세 이상 ~ 50세 미만","50세 이상"};
    JCheckBox[] jcb = new JCheckBox[age.length];

    public CancerTest() {

        setTitle("암 검진 대상자 확인");
        setLayout(new FlowLayout());

        jlb_result = new JLabel("              나이를 선택해주세요             ");
        add(jlb_result);


        for(int i=0; i<age.length; i++){
            jcb[i]= new JCheckBox(age[i]);
            add(jcb[i]);
        }


        JButton btnOK = new JButton("   확인   ");
        add(btnOK);

        //프레임에 배경색을 설정.
        getContentPane().setBackground(new Color(40, 120, 80));

        // 라벨은 원래부터 투명한 성격
        // 배경색을 설정하려면 불투명하게 한 다음 설정해야함
        jlb_result.setOpaque(true);
        jlb_result.setBackground(new Color(2, 199, 68));


        setSize(300, 150);
        setResizable(false);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        btnOK.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                jlb_result.setBackground(new Color(245, 103, 1));
                jlb_result.setForeground(Color.white);
                if (jcb[0].isSelected()) {
                    jlb_result.setText("구강암");
                } else if (jcb[1].isSelected()) {
                    jlb_result.setText("대장암");
                } else if (jcb[2].isSelected()) {
                    jlb_result.setText("폐암");
                }
                jcb[0].setVisible(false);
                jcb[1].setVisible(false);
                jcb[2].setVisible(false);
            }
        });
    }

    public static void main(String[] args) {
        new CancerTest();
    }
}

 

 

#결과

 

 

 

 

#2차 시도 (성별 추가)

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;


public class CancerTest extends JFrame {
    JLabel jlb_result;
    String[] age = {"40세 미만", "40세 이상 ~ 50세 미만", "50세 이상"};
    String[] gender = {"여자", "남자"};
    JCheckBox[] ageBox = new JCheckBox[age.length];
    JCheckBox[] genderBox = new JCheckBox[gender.length];
    JButton btnOK;

    public CancerTest() {

        setTitle("암 검진 대상자 확인");
        setLayout(new FlowLayout());

        jlb_result = new JLabel("                  나이를 선택해주세요                ");
        add(jlb_result);

        for (int i = 0; i < age.length; i++) {
            ageBox[i] = new JCheckBox(age[i]);
            add(ageBox[i]);
        }


        btnOK = new JButton("   확인   ");
        add(btnOK);

        //프레임에 배경색을 설정.
        getContentPane().setBackground(new Color(40, 120, 80));

        // 라벨은 원래부터 투명한 성격
        // 배경색을 설정하려면 불투명하게 한 다음 설정해야함
        jlb_result.setOpaque(true);
        jlb_result.setBackground(new Color(2, 199, 68));


        setSize(300, 150);
        setResizable(false);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        btnOK.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                jlb_result.setVisible(false);
                ageBox[0].setVisible(false);
                ageBox[1].setVisible(false);
                ageBox[2].setVisible(false);
                btnOK.setVisible(false);

                jlb_result = new JLabel("                    성별을 선택해주세요                   ");
                add(jlb_result);
                for (int i = 0; i < gender.length; i++) {
                    genderBox[i] = new JCheckBox(gender[i]);
                    add(genderBox[i]);
                }
                jlb_result.setOpaque(true);
                jlb_result.setBackground(new Color(2, 199, 68));


                btnOK = new JButton("   확인   ");
                add(btnOK);

                btnOK.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        genderBox[0].setVisible(false);
                        genderBox[1].setVisible(false);

                        jlb_result.setOpaque(true);
                        jlb_result.setBackground(new Color(2, 199, 68));

                        if(ageBox[0].isSelected()) {jlb_result.setText("대상자가 아닙니다");}
                        else if (ageBox[1].isSelected() && genderBox[0].isSelected()) {
                            jlb_result.setText("위암, 대장암 검진 대상자 입니다");
                        } else if (ageBox[1].isSelected() && genderBox[1].isSelected()) {
                            jlb_result.setText("위암, 간암 검진 대상자 입니다");
                        } else if (ageBox[2].isSelected() && genderBox[0].isSelected()) {
                            jlb_result.setText("위암 검진 대상자 입니다");
                        } else if (ageBox[2].isSelected() && genderBox[1].isSelected()) {
                            jlb_result.setText("간암, 대장암 검진 대상자 입니다");
                        }
                        btnOK.setVisible(false);
                    }
                });
            }
        });
    }


    public static void main(String[] args) {
        new CancerTest();
    }
}

 

 

#결과

 

 

'java_spring (2024.05 ~ 2024.10)' 카테고리의 다른 글

24.06.07  (0) 2024.06.07
24.06.05  (0) 2024.06.05
24.05.30  (0) 2024.05.30
24.05.29  (0) 2024.05.29
05.24 과제  (0) 2024.05.24