본문 바로가기
수업내용

20230510 수업내용🤦‍♂️🤦‍♂️

by titlejjk 2023. 5. 10.

자바스크립으로 토끼 명중시 풍선이 나가는 이펙트를 구현해 보았다

토끼를 명중시킨 횟수도 구현!

이클립스내부에서 git 써보기

git으로 관리할 대상 파일을 모든 파일을 대상으로 하면 안좋은 경우가 있다.

설정 파일(metadata)은 git의 추적 대상에서 제거할 필요가 있다.

여기서 설정이란

1.이클립스 설정

2.java설정(java version, 환경 등등)

이 모든 설정은 다 제외하고 코딩한 최소한의 파일만 add, commit 해서 git hub에 올려야 한다.

설정을 파일을 추적대상에서 제외하는 이유는 git hub에 올린 프로젝트를 내려받은 개발 환경이 git hub에 push 했었던 개발환경과 정확히 일치 하지 않으면 에러가 발생한다.

 

git hub 에 올라간 프로젝트는 모든 설정 파일이 빠져 있기 때문에 java프로젝트의 모양을 갖추고 있지 못해서 바로 import가 안된다.

그러므로 내려 받은 곳에서 자기 환경에 맞게끔 설정을 만들면서 import해야한다(대부분 자동으로 됨)

gitignore.io

이렇게 gitignore.io 에서 얻은 설정을 이클립스 내부에 gitignore 폴더에 붙여넣어주면 어느정도 설정이 된다.

gitignore 에서 #은 주서처리 이고 .classpath와 .project는 사용자가 추가한 파일이다.

add 방법
commit 방법

프로젝트 우클릭 -> Team에 들어가면 git에 관한 작업을 할 수 있다.

package frame09;

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

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

public class MyFrame extends JFrame implements ActionListener{
   //필드
   JTextField tf_num1, tf_num2;
   JLabel la2;
   //생성자
   public MyFrame(String title) {
      super(title);
      setBounds(100, 100, 900, 200);
      setDefaultCloseOperation(EXIT_ON_CLOSE);
      setLayout(new FlowLayout());
      
      //JTextField 2개
      tf_num1=new JTextField(10);
      tf_num2=new JTextField(10);
      //JButton 4 개
      JButton plusBtn=new JButton("+");
      JButton minusBtn=new JButton("-");
      JButton multiBtn=new JButton("*");
      JButton divideBtn=new JButton("/");
      //JLabel 2 개
      JLabel la1=new JLabel("=");
      la2=new JLabel("0");
      // UI 를 프레임에 배치 
      add(tf_num1);
      add(plusBtn);
      add(minusBtn);
      add(multiBtn);
      add(divideBtn);
      add(tf_num2);
      add(la1);
      add(la2);
      //버튼에 액션 리스너 등록 하기 
      plusBtn.addActionListener(this);
      minusBtn.addActionListener(this);
      multiBtn.addActionListener(this);
      divideBtn.addActionListener(this);
      //버튼에 action command 설정하기
      plusBtn.setActionCommand("plus");
      minusBtn.setActionCommand("minus");
      multiBtn.setActionCommand("multi");
      divideBtn.setActionCommand("divide");
      
      setVisible(true);
   }
   
   public static void main(String[] args) {
      new MyFrame("계산기");
   }
   // ActionListener 인터페이스를 구현했기 때문에 강제 오버라이드된 메소드 
   @Override
   public void actionPerformed(ActionEvent e) {
      //입력한 문자열 읽어오기
      String strNum1=tf_num1.getText();
      String strNum2=tf_num2.getText();
      
      
    try {
    	//입력한 문자열을 실수(double)로 변경하기
    	double num1=Double.parseDouble(strNum1);
    	double num2=Double.parseDouble(strNum2);
    	//눌러진 버튼의 command 읽어오기
    	String cmd=e.getActionCommand();
    	//연산의 결과값을 담을 변수를 미리 선언하고 초기값 대입하기 (왜 미리 선언 해야하나? 를 알아야함)
    	double result=0;
    	// command 가 무엇이냐를 확인해서 분기 하기 
    	if(cmd.equals("plus")) {
    		result=num1+num2;
    	}else if(cmd.equals("minus")) {
    		result=num1-num2;
    	}else if(cmd.equals("multi")) {
    		result=num1*num2;
    	}else if(cmd.equals("divide")) {
    		if(num2==0) {
    			JOptionPane.showMessageDialog(this, "어떤 수를 0으로 나눌수는 없어요!");
    			//메소드를 여기서 종료 시키기
    			return;
    		}
    		result=num1/num2;
    	}
    	//숫자를(double) 문자열(String) 로 바꾸기
    	String resultText=Double.toString(result);
    	//결과값을 JLable 에 출력하기 
    	la2.setText(resultText);
    	
	} catch (NumberFormatException nfe) {
		JOptionPane.showMessageDialog(this, "숫자 형식으로 입력해 주세요!");
	}
   }
}

간단한 계산기 만들어보기

댓글