본문 바로가기

반응형

IT

(195)
자바 BorderLayout 배치관리자, 명품자바프로그래밍 9장 * BorderLayout 배치관리자는 컨테이너 공간을 동(EAST), 서(WEST), 남(SOUTH), 북(NORTH), 중앙(CENTER)의 5개 영역으로 분할하여 배치한다. * 다른 배치관리자와는 달리 BorderLayout 배치관리자를 가진 컨테이너에 컴포넌트를 삽입하기 위해서는 add()메소드를 사용하여 컴포넌트의 위치를 명확히 정해주어야 한다. void add(Component comp, int index); // comp 컴포넌트를 index위치에 삽입한다. // Example container.setLayout(new BorderLayout()); container.add(new JButton("div"), BorderLayout.WEST); container.add(new JButton(..
자바 FlowLayout 배치관리자, 명품자바프로그래밍9장 * add() 메소드를 사용하여 FlowLayout 배치관리자는 가진 컨테이너에 컴포넌트를 부착할 수 있다. container.setLayout(new FlowLayout()); container.add(new JButton("add")); container.add(new JButton("sub")); container.add(new JButton("mul")); container.add(new JButton("div")); container.add(new JButton("Calculate")); * FlowLayout 배치관리자는 컴포넌트를 컨테이너 공간 내에서 왼쪽에서 오른쪽으로 배치하고, 더 이상 오른쪽에 공간이 없으면 다시 아래로 내려와서 왼쪽에서 오른쪽으로 배치한다. * FlowLayout 배치..
자바 컨테이너와 배치(1), 명품자바프로그래밍 9장 * 컨테이너에는 여러 개의 컴포넌트를 부착할 수 있다. 배치관리자(Layout Manager)가 컨테이너에 부착되는 컴포넌트들의 위치와 크기를 결정한다. 배치관리자는 컨테이너에 속한 것으로 컨테이너마다 하나씩 존재한다. * AWT나 스윙의 컨테이너의 특징 1) 하나의 컨테이너는 반드시 하나의 배치관리자를 가진다. 2) 배치관리자는 컨테이너에 컴포넌트가 들어오는 시점에 컴포넌트의 위치와 크기를 결정한다. 3) 배치관리자는 컨테이너의 크기가 변경되면 컨테이너 내부의 모든 컴포넌트들의 위치와 크기를 재조정한다. * 자바에는 대표적인 4가지 배치관리자가 있다. 배치관리자는 java.awt 패키지에 존재한다. import java.awt.*; 1) FlowLayout 컨테이너에 컨포넌트가 들어오면 순서대로 왼쪽에..
자바 스윙 응용프로그램 종료, 명품자바프로그래밍9장 * 자바에서 프로그램을 종료하기 위한 문장 System.exit(0); // 자바 프로그램을 종료한다. '프레임 종료 버튼(X)'의 클릭은 프레임 윈도우를 닫는 버튼이지 프로그램을 종료시키는 버튼은 아니다. 프로그램이 종료되지 않고 프로그램만 닫힌 상태로 화면에 보이지 않는 상태이다. 그러므로 만일 이 버튼이 클릭되었을 때 프레임 윈도우를 닫는 것과 동시에 스윙 프로그램도 함께 자동 종료시코가자 한다면 코드가 필요하다. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 프레임이 닫힐 때 프로그램도 함께 종료한다. * 스윙 프로그램에서는 main() 메소드가 종료되어도 프레임 윈도우가 살아서 작동한다. 자바 응용프로그램이 시작되면 자바 가상기계는 이 응용..
자바 GUI, 스윙 GUI 만들기, 명품자바프로그래밍9장 * 스윙으로 GUI 응용프로그램을 만들기 위해서는 세 과정이 필요하다. 1. 프레임 만들기 2. 프레임에 스윙 컴포넌트 붙이기 3. main() 메소드 작성 * 스윙 패키지를 이용하기 위해서는 스윙 컴포넌트의 클래스 파일들이 존재하는 경로 명인 javax.swing.*;를 만드시 import 패야한다. import java.awt.*;// 그래픽 처리를 위한 클래스들의 경로명 import java.awt.event.*;// AWT 이벤트 사용을 위한 경로명 import javax.swing.*;// 스윙 컴포넌트 클래스들의 경로명 import javax.swing.event.*;// 스윙 이벤트를 위한 경로명 * 스윙 프레임은 모든 스윙 컴포넌트들을 담는 최상위 컨테이너(Top Level Containe..
안드로이드 스튜디오 그래들 Gradle * 안드로이드 앱을 실행하거나 앱 스토어에 올릴 때는 소스 파일이나 리소스 파일을 빌드하거나 배포하는 작업이 필요하다. 이 때 사용되는 것이 그래들(Gradle)이다. 즉, 그래들은 안드로이드 스튜디오에서 사용하는 빌드 및 배포 도구이다. * 한 앱의 빌드 설정은 build.gradle 파일에 넣어 관리한다. 이때 그래들 파일은 프로젝트 수준과 모듈 수준으로 나누어 관리하기 때문에 새로운 프로젝트를 만드면 두 개의 build.gradle 파일이 생긴다. //참조파일 // SamplePermission2>/Gradle Scripts/build.gradle (Module: SamplePermission2.app) pugins { id 'com.android.apllication' } andoird { com..
안드로이드 스튜디오 리소스와 매니페스트 * 안드로이드 앱은 크게 '자바 코드'와 '리소스'로 구성된다. 자바 코드에서는 앱의 흐름과 기능을 정의하고 리소스에서는 레이아웃이나 이미지처럼 사용자에게 보여주기 위해 사용하는 파일이나 데이터를 관리한다. * 매니피스트는 리소스는 아니지만 설치된 앱의 구성 요소가 어떤 것인지, 그리고 어떤 권한이 부여되었는지 시스템에 알려주기 때문에 매우 중요하다. 모든 안드로이드 앱은 가장 상위 폴더에 매니페스트 파일이 있어야하며, 이 정보는 앱이 실행되기 전에 시스템이 알아야 할 내용들을 정의하고 있다. * 매니페스트 파일에 들어갈 수 있는 태그 항목 [Reference] 이 태그들 중에서 , , , 와 같은 태그들은 앱 구성 요소를 등록하기 위해 사용된다. * 매니페스트의 주요 역할 - 앱의 패키지 이름 지정 -..
안드로이드 스튜디오 위험 권한 부여 * 안드로이드 마시멜로 버전부터는 권한을 일반 권한과 위험 권한으로 나누었다. 앱을 설치하는 시점에 사용자에게 물어보는 기존의 방식은 사용자가 아무런 생각 없이 앱을 설치하는 경우가 많았으며 이에 따라 설치된 앱들이 단말의 주요 기능을 마음대로 사용할 수 있었다. 이 때문에 위험 권한으로 분류된 권한들에 대해서는 앱을 설치할 때가 아니라 앱을 실행할 때 권한을 부여하도록 변경된 것이다. * 예를 들면, 인터넷을 사용할 때 부여하는 INTERNET 권한은 일반 권한이다. 따라서 앱을 설치할 때 사용자에게 권한이 부여되어야 함을 알려주고 설치할 것인지를 물어본다. 사용자가 부여할 권한들의 설명을 보고 수락하면 앱이 설치되고 앱에는 INTERNET 권한이 부여된다. * 그러나 위험 권한으로 분류되는 RECEI..

반응형