목록
각 주택, 오피스텔, 그 외 건물의 취득세를 계산하기 위해 필수적으로 필요한 버튼들을 구분하여, 해당 기능에 알맞게 나오도록 구성하였고 사용자로 하여금 부정확한 계산을 방지하기 위해 조정대상지역을 알려주는 페이지 생성
생성
//--패널생성
JPanel p = new JPanel(new BorderLayout());//중앙 패널
JPanel pN = new JPanel(new FlowLayout(0));//상단 페이지명 패널
JPanel pC = new JPanel(new GridLayout(0,1,1,1));//계산기 패널
JPanel[] pFlow = new JPanel[8];
//--상단 라벨 생성
Font font = new Font("궁서체",Font.BOLD,20);
JLabel label_title = new JLabel("취득세 계산기");
//--계산기 버튼 생성
JToggleButton[] button = new JToggleButton[11];
//--버튼 그룹 생성
ButtonGroup bg_BuildingType = new ButtonGroup();
ButtonGroup bg_BuildingSize = new ButtonGroup();
ButtonGroup bg_BuildingCount = new ButtonGroup();
//--버튼 이름 생성
String[] button_text = { "주택", "오피스텔", "그 외 건물", "40m^2 이하", "60m^2 이하",
"85m^2 이하", "85m^2 초과", "1주택", "2주택", "3주택", "그 이상"};
//--라디오 버튼 생성
JRadioButton radio_adjusted_area = new JRadioButton("조정대상지역");
JButton button_adfusted_area = new JButton("조정대상 지역 보기");
JRadioButton radio_first_purchase = new JRadioButton("생애최초 구입");
JRadioButton radio_metropolitan_area = new JRadioButton("수도권");
JButton button_tax_calculation = new JButton("취득세 계산");
//--금액 입력 및 출력 텍스트필드 생성
JTextField text_price = new JTextField("금액 입력",20);
JTextField text_calculation = new JTextField("계산 금액",20);
AdjustedArea adjustedAreaPage = new AdjustedArea();//조정대상지역 페이지 객체
Handler handler = new Handler();//핸들러 객체
추가
public Main() {
super(":::취득세 계산기:::");
Container cp = this.getContentPane();
cp.add(p, "Center");
p.setBackground(Color.white);
//--패널 및 라벨 부착
p.add(pN,"North");
pN.add(label_title);
label_title.setFont(font);
p.add(pC,"Center");
pC.setBackground(Color.gray);
//--계산기 패널의 사이즈 및 보더 설정
pC.setPreferredSize(new Dimension(ABORT,ABORT));
pC.setBorder(new EmptyBorder(70, 0, 200, 0));
//--페이지 기본값 설정
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//--버튼에 버튼이름 넣기
for(int i=0; i<button.length; i++) {
button[i] = new JToggleButton(button_text[i]);
}
//--pFlow 패널 생성
for(int i=0; i<pFlow.length; i++) {
pFlow[i] = new JPanel(new FlowLayout(0));
}
//--계산기 패널에 pFlow 패널 넣기
for(int i=0; i<8; i++) {
pC.add(pFlow[i]);
}
//--pFlow 패널에 버튼 넣기
for(int i=0; i<=10; i++) {
pFlow[0].add(button[i]);
button[0].setSelected(true);
if(i>=3 && i<7) {
pFlow[1].add(button[i]);
}else if(i>=7) {
pFlow[2].add(button[i]);
}
}
pFlow[3].add(radio_adjusted_area);
pFlow[3].add(button_adfusted_area);
pFlow[4].add(radio_first_purchase);
pFlow[4].add(radio_metropolitan_area);
radio_metropolitan_area.setVisible(false);
pFlow[5].add(text_price);
pFlow[6].add(button_tax_calculation);
pFlow[7].add(text_calculation);
text_calculation.setFont(font);
text_calculation.setEnabled(false);
pFlow[7].setVisible(false);
//--버튼 그룹 넣기
for(int i=0; i<button.length; i++) {
bg_BuildingType.add(button[i]);
if(i>=3 && i<7) {
bg_BuildingSize.add(button[i]);
}else if(i>=7) {
bg_BuildingCount.add(button[i]);
}
}
//--핸들러생성
for(int i=0; i<button.length; i++) {
button[i].addActionListener(handler);
}
button_adfusted_area.addActionListener(handler);
button_tax_calculation.addActionListener(handler);
radio_first_purchase.addActionListener(handler);
}//--생성자
버튼 및 버튼 이름을 배열로 생성 및 추가하여 코드 최소화
'기능 학습 > 부동산 취득세 계산기' 카테고리의 다른 글
[부동산 취득세 계산기] 4. 그 외 취득세 계산 (0) | 2021.07.20 |
---|---|
[부동산 취득세 계산기] 3. 오피스텔 취득세 계산 (0) | 2021.07.20 |
[부동산 취득세 계산기] 2. 주택 취득세 계산 (0) | 2021.07.20 |