본문 바로가기

Learning

텍스트필드에 단을 입력하고 구구단 버튼을 누르면 TextArea에 구구단 출력하기 텍스트필드에 단을 쓰고 구구단 버튼을 누르면 TextArea에 구구단 출력 (JGugudan) JTextField, JButton, JTextArea메소드로 객체 생성, Frame상속받고 액션을 위해 ActionListener implements 시켜준다. JTextField에 있는 문자를 받아서 정수형으로 반환한다. 단을 가져와서 for문을 이용하여 출력한다. 출력할때에는 JTextArea의 객체에 append()메소드를 이용한다. 숫자가 아닌걸 parseInt하면 오류가 발생한다. 그때 오류 메시지를 써준다. try-catch문으로 처리해주고 catch()메소드의 인자로 NumberFormatException n을 써준다. JTextField의 객체 tf1에 setText()메소드를 이용하여 오류 메.. 더보기
버튼을 패널로 묶고 패널 1 보이기, 안보이기 설정하기 버튼을 패널로 묶고 패널 1 보이기, 안보이기 설정하기 (JPannelTest2) 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 package guiTest; import java.awt.Color; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; imp.. 더보기
Java.awt / Javax.swing 패키지를 사용하여 프레임에 버튼, 텍스트필드 띄우기 Java GUI에는 awt, swing이 있다. 자바 패키지 내의 Java.awt/Javax.swing Java.awt-프레임 위에 버튼을 만들고 이름적는 칸 만들기 (PannelTest) 처리방식 컴포넌트(버튼)를 만들고 이벤트 핸들러 (이벤트 처리 메소드)를 만들어서 연결시켜줘야한다. 컴포넌트를 보여줄땐 컨테이너가 필요하다. 컨테이너로는 Frame, JFrame을 가장 많이 쓴다. 컨테이너에 컴포넌트를 부착시키는 형태인 것이다. 따라서 Frame을 만들어서 Button을 올려야한다. extend Frame 컨테이너는 상속받아서 쓴다. 현재 작업 중인 클래스에 extend Frame을 하여 상속받는다. Frame에 제목 나타내기 super("제목") / setTitle("제목")을 통해 실행시 팝업되는.. 더보기
파일 내용 맨 앞에 번호를 붙여 파일로 출력하기 이클립스 src에 있는 파일을 읽어서 라인 앞에 번호를 붙여 출력하기 (FileInputOutputTest) 파일을 한줄씩 읽기위해 Scanner 이용 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 package ioTest; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintStream; //파일을 읽어서 라인 앞에 번호를 붙여 출력하기 import j.. 더보기
DataInputStream과 DataOutputStream DataInputStream과 DataOutputStream은 메모리에 저장된 0,1상태를 읽거나 쓴다. 그래서 자료형의 크기가 그대로 보존된다. (DataStreamTest) DataInputStream은 자료형별 메서드를 제공하여 자료형에 따라 읽거나 쓴다. (readByte, readChar, readInt 등..) DataOutputStream은 read()에 대응되는 write()메소드를 사용한다. (writeByte, writeChar, writeInt 등..) 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 32 33 34 35 36 37 38 package ioTest; import jav.. 더보기
자바의 입출력, StringTokenizer, ObjectStream(ObjectOutputStream, writeObject, Serializable), 예외처리 throws, File input.txt라는 텍스트 파일을 만들어서 같은 패키지 안에 저장한다. TokenFileTest라는 클래스를 만들고 input.txt 파일을 읽어서 콘솔창에 출력한다. (TokenFileTest) 파일 읽는 클래스는 FileInputStream, 콘솔창 출력은 print메소드를 이용한다. 읽어들임: read()는 int형만 읽어들이기 때문에 다양한 형식을 읽어들이기 위해 Scanner가 나왔다. (자바 5부터) 파일을 읽을때 Scanner를 써도 상관없다. 한 줄로 읽어들일때는 Scanner를 이용한다. 내보낼때: write()는 FileOutputStream과 함께 쓰며 파일형태로 출력한다. print()는 콘솔창에 출력한다. 객체 만들고 read, 객체 만들고 write, 예외처리 꼭 해주기. 예외.. 더보기
해쉬맵, Vector, Set, 자바의 예외처리(try-catch, finally), Thread (run-start), 자바의 입출력(InputStream-read, OutputStream-write) 해쉬맵에 간단한 영어사전을 만들기. 사용자로부터 영어단어를 입력받고 한글 단어 검색. exit 입력받으면 종료. (HashMapDic) 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 package utilTest; import java.util.HashMap; import java.util.Scanner; public class HashMapDic { public static void main(String[] args) { HashMapdic=new HashMap(); dic.put("baby", "아기"); dic.put("love", "사랑"); dic.put("apple", "사과"); //사용자로부터.. 더보기
String의 특징, Calendar함수, StringBuilder, 입력한 문장의 글자 배열 다르게 하여 출력하기, HashMap, Collections.sort() String의 특징. 기본 데이터형이 아닌, 클래스형이다. (클래스형은 대문자로 시작) 클래스는 객체와 메소드를 가지고 있다 . (StringTest, StringTest02, StringTest03) 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 32 33 34 35 36 37 38 39 40 41 42 43 package utilTest; public class StringTest { public static void main(String[] args) { //String은 클래스형. 기본데이터형이 아님. 클래스는 대문자로 시작. //클래스형은 new 로 객체를 만든다. 그런데 지금까지 String.. 더보기
객체지향의 다형성, toString()으로 오버라이딩, instanceof, 추상클래스-abstract, interface-implements, ArrayList 자바의 다형성-상위 클래스를 통해 하위 클래스의 값을 다양한 형태로 돌려줌. 각 도형의 넓이의 합을 구할때. (Shape, ShapeMain, ShapeManager, Circle, Square) 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 package day07; import java.util.Scanner; public class ShapeMain { static Scanner sc=new Scanner(System.in); public static void showMenu() { System.out.println("선택하세요..."); System.out.println("1.원 2.사각형 3.보기 4.종.. 더보기
이차원배열, ArrayList활용, 자바의 상속성 이차원배열의 인덱스 값을 일차원배열로 지정, 출력 순서를 행 단위로 바꾸기 (ShiftArray) 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 32 33 34 35 36 37 38 39 40 41 42 43 44 package day06_objectArray; public class ShiftArray { public static void shiftArray(int [][]arr) { //일차원 배열을 만들고 그 배열에 arr의 마지막 행 값을 넣는다. int []tmp=arr[arr.length-1]; //arr의 인덱스가 2에 1의 값을 넣는다. //arr의 인덱스가 1에 0의 값을 넣는다. fo.. 더보기