package ch05;
import java.util.ArrayList;
import java.util.Scanner;
public class InputPhoneNumber {
private ArrayList<String> userName = new ArrayList<>();
private ArrayList<String> telNumber = new ArrayList<>();
public ArrayList<String> getUserName() {
return userName;
}
public ArrayList<String> gettelNumber() {
return telNumber;
}
public void savePhoneNumber() {
Scanner scanner = new Scanner(System.in);
String name = "";
String number = "";
do {
System.out.println("중지하려면 -1을 입력하세요.");
System.out.println("*** 이름을 입력하세요. ***\n");
// \n 엔드라인
name = scanner.nextLine();
if(!name.equals("-1")) { //-1을 입력하면 밑에 전화번호가 입력이 되지않도록하는 if문
System.out.println("*** 전화번호를 입력하세요. ***\n");
number = scanner.nextLine();
userName.add(name);
telNumber.add(number);
}
}while(!(name.equals("-1")));
}
public void showInfo() {
System.out.println("----------------------");
for (int i = 0; i < userName.size(); i++) {
System.out.print("[" + userName.get(i)+ "] : \t"); //탭간격 \t
System.out.println(telNumber.get(i));
}
System.out.println("----------------------");
}
public static void main(String[] args) {
InputPhoneNumber inputPhoneNumber = new InputPhoneNumber();
inputPhoneNumber.savePhoneNumber();
inputPhoneNumber.showInfo();
}
}
package ch05;
import java.awt.GridLayout;
import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class PhoneBook extends JFrame {
// 포함관계
//다른 클래스를 만들어서 다른코드를 사용할 수있다.
// 변수선언 변수선언과 동시에 초기화
private InputPhoneNumber inputPhoneNumber;
public PhoneBook() {
inputPhoneNumber = new InputPhoneNumber();
inputPhoneNumber.savePhoneNumber();// UI만들기전에 saveP~ 호출
initData();
setInitLayout();
} //생성자 > save 메서드 호출 >
private void initData() {
setTitle("phone book");
setSize(500, 500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}// 캡슐화(정보은닉) 겉으로는 보이지않음
private void setInitLayout() {
ArrayList<String>name = inputPhoneNumber.getUserName();
ArrayList<String>tel = inputPhoneNumber.gettelNumber();
int nametext = 10;
int teltext= 20;
setLayout(new GridLayout(name.size(),2));
for (int i = 0; i < name.size(); i++) {
JTextField field1 =new JTextField(name.get(i),nametext);
JTextField field2 =new JTextField(tel.get(i),teltext);
add(field1);
add(field2);
}
setVisible(true);
}
//테스트 코드
public static void main(String[] args) {
new PhoneBook();
}
}
'Java > Excercise' 카테고리의 다른 글
swing ch08 RunLottoGame (0) | 2021.09.10 |
---|---|
swing ch07 MainTest lotto (0) | 2021.09.10 |
callback ch04 News (0) | 2021.09.09 |
callback ch04 CalendarMainTest (0) | 2021.09.09 |
callback ch03 Activity 상속받아 콜백 (0) | 2021.09.09 |