전날 쓴글이 없어져서 3일차에 같이 씀
패키지의 디렉토리가 org\opentutorials\iot\Elevator를 사용하려고 할 때
=> org.opentutorials.iot.Elevator 매번 이렇게 써주는것도 가능하지만 상위 디렉토리가 많을 수 있기 때문에 또 가독성 측면에서 좋지 않기 때문에
//기존에는
org.opentutorials.iot.Elevator myElevator = new org.opentutorials.iot.Elevator();
//이렇게 적어주면
import org.opentutorials.iot.Elevator;
Elevator myElevator = new Elevator();
//더 짧고 간결해 진다

벌레(?)버튼을 누르면 코드를 디버깅 할 수 있게 디버거를 실행한다

어떤 줄에 코드가 문제인지 한 줄씩 실행시키거나 breakpoint까지 여러줄을 한번에 실행시킬수도 있다

코드를 실행하면서 값을 하나씩 확인도 가능하다
해당 시스템에서 실행될 시 해당 컴포넌트를 사용하는 GUI.
서로 다른 시스템에서 사용 시 실행하는 컴포넌트의 모습이 달라 일관된 화면을 제공하는데 어려움이 따름
자바 초기 버전에 제공되던 GUI.
자바에서 컴포넌트를 작성 시 화면이 일관되게 나오는 GUI
이전에는 큰 단계의 컨테이너만을 운영체제(AWT)로 지원하고, 하부 컴포넌트들은 직접 자바 코드로 그렸다. 이런 불편함을 해소하기 위해 등장한 GUI가 스윙! 현재는 스윙 사용을 권장함
그중 JOptionPane에 대하여 알아보자
import javax.swing.JOptionPane;
JOptionPane은 사용자에게 값을 묻거나 정보를 알려주는 표준 대화 상자를 쉽게 팝압해서 이용할 수 있게 해 줍니다
크게 4가지로 분류할 수 있는데
1. showMessageDialog
2. showConfirmDialog
3. showInputDialog
4. showOptionDialog
단순한 정보를 알려주는 대화 상자를 팝업

parentComponent : 주로 null값이 들어간다. 부모 컴포넌트를 지정해서 팝업 활성화를 제어할 수 있다.
message : 팝업안에 표시될 내용
title : 팝업 타이틀
messageType : 팝업에 기본으로 정할 수 있는 아이콘
메시지 타입으론 5가지가 있다.
JOptionPane.~~~
ex) JOptionPane.Error_MESSAGE

사용예시: JOptionPane.showMessageDialog(null,"팝업 표시 내용","팝업 타이틀",JOptionPane.WARNING_MESSAGE);

정보와 함께 선택지를 옵션으로 같이 제공하는 대화상자를 팝업

OptionType : 팝업 상자에서 고를 수 있는 옵션의 종류를 지정할 수 있다.
OptionType을 제외하면 showMessageDialog와 동일
1) DEFAULT_OPTION

2) OK_CANCEL_OPTION

3) YES_NO_OPTION

4) YES_NO_CANCEL_OPTION

옵션을 선택하면 정수를 리턴, 각 옵션에 따라 리턴되는 값은:
OK == 0
YES == 0
NO == 1
CANCEL ==2
X(팝업종료) == -1
사용예시: JOptionPane.showMessageDialog(null,"팝업 표시 내용","팝업 타이틀",JOptionPane.OK_CANCEL_OPTION,JOptionPane.ERROR_MESSAGE);

사용자에게 직접 입력을 받아 올 수 있고 형태는 두 가지가 있습니다.

이 형태의 메소드는 다음과 같습니다.
initialmessage : 팝업 상자 입력창에 기본적으로 적어 놓을 내용이다.
사용예시: JOptionPane.showInputDialog(null,"무엇을 입력하실껀가요?","없음");

icon : 아이콘 이미지를 직접 지정할 수 있다.
vlaue[] : 직접 정해줄 옵션의 배열을 지정한다.
initialValue : 정해준 옵션에서 기본적으로 표시하고 있을 내용이다.
옵션을 정하고 OK를 누르면 옵션의 내용을 Object형으로 전달하기 때문에 아래와 같이 문자열로 형 변화할 필요가 있다.
String[] peoples = {"kim","jung","choi"};
String name = (String) JOptionPane.showInputDialog(null, "내용", "타이틀", JOptionPane.WARNING_MESSAGE, null, peoples, peoples[1]);


직접 정의한 옵션을 모두 보여주며 입력을 받을 수 있는 대화 상자를 팝업 시켜줌

icon : 아이콘 이미지를 직접 지정할 수 있다.
vlaue[] : 직접 정해줄 옵션의 배열을 지정한다.
initialValue : 정해준 옵션에서 기본적으로 표시하고 있을 내용이다.
옵션을 정하고 OK를 누르면 옵션의 내용을 Object형으로 전달하기 때문에 아래와 같이 문자열로 형 변화할 필요가 있다.
String[] iphone = {"아이폰12 mini","아이폰12","아이폰12 pro", "아이폰12 pro max"};
int choice = JOptionPane.showOptionDialog(null, "내용", "타이틀", 0, 0, null, iphone, iphone[3]);

String num = "12.34";
double value = Double.parseDouble(num); // int 12.34
String num = "12";
int value = Integer.parseInt(num); // 12;
Double numD = 12.34;
int numI = 12;
String valueD = Double.toString(numD);
String valueI = Integer.toString(numI);