본문 바로가기

728x90
반응형

개발 기록

[java] 입출력(BufferedReader, BufferedWriter, StringBuilder) 언젠가는 한 번 정리해보려 했던 것을 이제 글 한 번 올려보려고 합니다! ◇ 입출력 전달 방법 입출력에 대해서 가장 먼저 배우는 것은 Scanner를 이용해 입력하고 System.print 함수들로 출력합니다. Scanner는 프로그램 → 하드 디스크로 바로 데이터를 전송하면서 입출력에 시간이 오래 걸립니다. 하지만 Buffer는 바로 하드 디스크로 전달하는 것이 아니라 중간에 메모리 버퍼로 전달합니다. 입력할 때 하나씩 입력해서 메모리 버퍼에 쌓이면서 출력할때는 한 번에 하드 디스크로 데이터를 전달합니다. 아래의 그림을 보시면 좀 더 이해하기 쉬울 겁니다. Scanner는 위의 그림에서 메모리 버퍼가 없습니다. 하드디스크는 원래 속도가 느리기 때문에 데이터 입출력에 시간이 오래 걸립니다. 따라서 중간에.. 더보기
[java]이것이 자바다 부록 Java UI 13-2 (Swing을 이용한 2D 그래픽스, Color와 Font) (5) 안티 알리아싱 ▷ 비트맵 그래픽의 방식은 작은 사각형(픽셀)을 최소 단위로 하기 때문에 이 픽셀들이 모여 만들어진 원, 곡선, 사선은 경계 부분에서 거친 계단 현상(알리어싱aliasing)이 나타남 ▷ 문제 해결을 위해 안티-알리어싱 기능이 필요 ▷ 안티알리어싱은 배경색과 이미지 색상의 중간 색상을 단계적으로 채워 경계선을 부드럽게 만들어 주는 기능 ▷ 자바는 안티 알리어싱을 위해 Graphics2D의 setRenderingHint() 메소드를 제공 ▷ paint() 메소드의 매개변수 타입은 Graphics이지만 Graphics2D 객체를 참조하고 있기 때문에 타입 변환을 통해 Graphics2D 객체를 얻고 setRenderingHint() 메소드를 호출 가능 ◎ 안티 알리아싱을 적용하지 않은 .. 더보기
[java]이것이 자바다 부록 Java UI 13-1 (Swing을 이용한 2D 그래픽스, Color와 Font) (3) Color와 Font ▷ Graphics의 setColor() 메소드로 Color를 설정하면 해당 색 상으로 문자, 선, 도형이 그려짐 ◎ Color 클래스가 표현할 수 있는 13가지 색깔 상수 Color.BLACK Color.WHITE Color.RED Color.GREEN Color.BLUE Color.GRAY Color.DARK_GRAY Color.LIGHT_GRAY Color.CYAN Color.MAGENTA Color.ORANGE Color.PINK Color.YELLOW ▷ 13가지 상수 이외의 다른 색상을 얻고 싶다면 R(Red), G(Green), B(Blue ) 값을 이용해서 Color 객체를 직접 만들면 됨 ▶ RGB값은 각각 0~255 사이의 값을 입력 Color color =.. 더보기
[java]이것이 자바다 부록 Java UI 13 (Swing을 이용한 2D 그래픽스) 1. 2D 그래픽스 ▷ UI 프로그램에서 윈도우 창이나 버튼, 이미지 등은 모두 화면에서 드로잉된 2D 그래픽 ▷ Swing은 개발자가 코드로 2D 그래픽을 드로잉하도록 Java2D API를 제공 (1) Canvas와 Graphics ▷ Canvas : 도화지, Graphics : 붓 ▷ Canvas는 최초 드로잉 준비가 되면 paint() 메소드를 호출해서 Graphics로 드로잉 함 ▶ paint() 메소드를 다시 호출하여 Graphics로 재 드로잉 함 ① 도화지가 축소되었다가 다시 확대했을 때 ② 도화지의 크기가 변경되었을 때 ③ 도화지가 숨겨졌다가 다시 나타났을 때 ◎ 윈도우 창 사이즈 변경시 콘솔 출력 예제 import java.awt.BorderLayout; import java.awt.Ca.. 더보기
[java]이것이 자바다 부록 Java UI 12-3 (Swing을 이용한 색상 다이얼로그) (4) 색상 다이얼로그 ▷ 색상을 사용자가 선택할 수 있음, 색상 다이얼로그는 JColorChooser를 제공 ▶ showDialog() 메소드를 이용해서 색상 다이얼로그 띄움 ◎ 색상 다이얼로그에서 선택한 색상을 버튼의 배경색으로 설정하는 예제 import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JColorChooser; import javax.swing.JFrame; import javax.swing.SwingUtilities; public class.. 더보기
[java]이것이 자바다 부록 Java UI 12-2 (Swing을 이용한 파일 다이얼로그) (3) 파일 다이얼로그 ▷ 사용자가 파일을 선택할 때 사용, Swing에서는 JFileChooser를 제공 ▷ showOpenDialog ( )와 showSaveDialog ( ) 메소드를 이용해 열기와 저장용 파일 다이얼로그를 띄울 수 있음 ▷ 파일 다이얼로그의 기본 디렉토리 위치는 사용자의 홈 디렉토리, 변경하고 싶다면 setCurrentDirectory() 메소드 이용 jFileChooser.setCurrentDirectory(new File("C:/Temp")); ▷ showOpenDialog()와 showSaveDialog() 메소드는 모두 int 값을 리턴 ◎ showOpenDialog()와 showSaveDialog() 메소드의 버튼 구분을 위한 상수 NO 옵션 상수 설명 1 APPROVE_.. 더보기
[java]이것이 자바다 부록 Java UI 12-1 (Swing을 이용한 표준화된 다이얼로그) (2) 표준화된 다이얼로그 ▷ Swing은 자주 사용되는 표준화된 다이얼로그(MessageDialog, ConfirmDialog, InputDialog, OptionDialog)를 쉽게 생성하기 위해 JOptionPane 클래스를 제공한다. ◎ JOptionPane의 메소드 NO 메소드 다이얼로그 다이얼로그 모양 1 showMessageDialog( … ) 텍스트 메시지[확인] 2 showConfirmDialog( … ) 텍스트 메시지[확인][취소] [예][아니오][취소] [예][아니오] 3 showInputDialog( … ) 입력 컴포넌트 [확인] [취소] 4 showOptionDialog( … ) 텍스트 메시지 [사용자 정의 버튼] ◎ showXXXDialog() 메소드의 매개변수 NO 매개변수 설.. 더보기
[java]이것이 자바다 부록 Java UI 12 (Swing을 이용한 다이얼로그) 1. 다이얼로그 ▷ 주 윈도우에서 사용자의 선택 또는 입력을 위해서 띄우는 서브 윈도우이다. ▷ 다이얼로그를 띄우는 주 윈도우를 부모 윈도우 또는 소유자 윈도우라고 한다. ▷ 모달 다이얼로그 : 다이얼로그를 닫기 전까지 부모 윈도우를 사용할 수 없는 다이얼로그 ▷ 모달리스 다이얼로그 : 부모 윈도우를 계속 사용할 수 있는 다이얼로그 ▷ 다이얼로그의 기본은 모달(JDialog)을 제공, 프로그램에서 자주 사용되는 표준화된 다이얼로그도 제공 ▷ 다이얼로그를 띄울 때는 소유자 윈도우(JWindow, JFrame, JDialog 등)가 반드시 필요 (1) 사용자 정의 다이얼로그 ▷ 사용자 정의 다이얼로그를 만들기 위해서는 JDialog를 상속해야 한다. ▷ 생성자는 소유자 윈도우를 받도록 선언, 소유자 윈도우를.. 더보기

728x90
반응형