728x90
반응형

자바스윙 14

자바 UI - Swing (툴바 컴포넌트)

툴바 컴포넌트툴바는 메뉴바 아래에 위치하고 주로 버튼들이 배치되는 컨테이너이다.메뉴보다는 빠르게 원하는 기능을 마우스로 선택할 수 있기 때문에 사용자들은 메뉴보다는 툴바를 더 선호한다. 컴포넌트설명JToolBar툴바 생성을 위한 컴포넌트JToolBar.Separator버튼들을 그룹 짓기 위해 공백을 제공하는 컴포넌트 최상위 레벨 컨테이너에서 JToolBar를 상단에 배치하는 방법은 JToolBar를 생성한 뒤 BoardLayout을 이용해서 북쪽에 배치하면 된다 JToolBar 내부에 컴포넌트가 추가되지 않으면 JToolBar가 북쪽에 위치하더라도 보이지 않는다JToolBar jToolBar = new JToolBar();jFrame.getContentPane().add(jToolBar, Borde..

자바 2023.02.20

자바 UI - Swing (메뉴 컴포넌트)

메뉴 컴포넌트UI 프로그램에서 메뉴는 빠질 수 없는 구성 요소이다. Swing은 메뉴 생성을 위해 다음과 같은 컴포넌트를 javax.swing 패키지에서 제공한다. 컴포넌트설명JMenuBar메뉴바 컴포넌트JMenu주 메뉴 및 자식 메뉴 아이템을 갖는 서브 메뉴 컴포넌트JPopupMenu팝업 메뉴 컴포넌트JMenuItem메뉴 아이템 컴포넌트JCheckBoxMenuItemJCheckBox로 선택할 수 있는 메뉴 아이템 컴포넌트JRadioButtonMenuItemJRadioButton으로 선택할 수 있는 메뉴 아이템 컴포넌트JSeparator메뉴를 수직 또는 수평으로 분리시키는 컴포넌트 각 컴포넌트의 사용 위치를 그림으로 표시 메뉴 생성 메뉴를 생성하기 위해서는 제일 먼저 JMenuBar를 생성하고..

자바 2023.02.17

자바 UI - Swing (테이블 컴포넌트)

테이블 컴포넌트JTable은 테이블 형식의 데이터를 표시하고 편집할 수 있는 컴포넌트이다.JTable은 다른 컴포넌트에 비해서 다소 복잡한 구조로 이루어져 있다 테이블은 컬럼(column)과 행(row)으로 구성되어 있고, 컬럼과 행이 만나는 곳이 셀(cell)이다.셀은 실제 데이터가 표시되는 곳이다.하나의 컬럼을 구성하는 셀들은 동일한 데이터 타입을 가져야 한다 테이블 생성 간단한 JTable 객체를 만들기 위해서는 먼저 컬럼 이름을 포함하고 있는 1차원 String 배열과 셀의 데이터인 2차원 Object 배열을 생성해야 한다. 그리고 이들을 JTable 생성자를 호출할 때 매개 값 으로 넘겨준다 이름과 나이 컬럼으로 구성된 테이블을 생성하는 방법import java.awt.BorderLayout..

자바 2023.02.17

자바 UI - Swing (리스트 컴포넌트)

리스트 컴포넌트리스트 컴포넌트는 목록 중에서 항목을 선택할 수 있는 컴포넌트를 말한다.리스트 컴포넌트에는 JList, JComboBox가 있다. JList는 목록에서 하나 이상의 항목을 선택할 수 있고, JComboBox는 버튼을 클릭했을 때 목록이 보이고, 그 중 하나를 선택할 수 있다 JListJList는 목록에서 하나 이상의 항목을 선택할 수 있는 컴포넌트이다. JList의 항목은 다음과 같이 배열로 주거나.String[] stringItems = { "one", "two", "tree", "four" };JList jList = new JList(stringItems); Vector 객체로 줄 수 있다.Vector items = new Vector();items.add("one");items.a..

자바 2023.02.17

자바 UI - Swing (채팅창 텍스트 입력 후 내용을 엔터키 누르고 전송)

채팅창을 흉내내어 입력한 내용을 엔터키 누르고 전송하면 JTextArea에 출력 채팅을 치고 엔터키를 누르면 전송하는 방법import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.SwingUtilities;public class JTextAreaExamp..

자바 2023.02.16

자바 UI - 04) Swing (텍스트 컴포넌트)

텍스트 컴포넌트텍스트 컴포넌트는 텍스트를 나타내거나 편집할 수 있는 컴포넌트를 말한다.텍스트 컴포넌트에는 JLabel, JTextField, JPasswordField, JTextArea, JEditorPane, JTextPane 등이 있다.JLabel만 텍스트를 편집할 수 없고, 나머지는 텍스트를 편집할 수 있다.편집 가능한 텍스트 컴포넌트는 모두 JTextComponent를 상속받아 각 컴포넌트의 특징에 맞게 설계되었다.JTextField와 JPasswordField는 단일 라인의 텍스트를 편집할 수 있고, JTextArea, JEditorPane, JTextPane은 멀티 라인 편집을 지원한다. JLabelJLabel은 편집할 수 없는 한 줄의 간단한 텍스트와 정적인 이미지를 보여주는 컴포넌트이다..

자바 2023.02.16

자바 UI - Swing (RadioButton 응용)

라디오 종류러시안블루라가머핀라팜맹크스 JRadioButton 버튼을 4개로 만들어서 만들기 import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.ButtonGroup;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JRadioButton;import javax.swing.SwingUtilities;public class Ra..

자바 2023.02.16

자바 UI - 03) Swing (이벤트처리기, 버튼 컴포넌트)

이벤트 처리기UI 프로그램은 사용자와 상호작용을 하면서 코드를 실행한다. 사용자가 UI의 컴포넌트를 사용하는 순간 이벤트(event)가 발생하고, 프로그램은 이벤트를 처리하기 위해 코드를 실행한다. 이벤트 소스 객체(컨테이너, 컴포넌트)와 이벤트 처리 객체(리스너Listener)를 분리하는 위임형(Delegation) 방식을 사용 컴포넌트는 하나의 이벤트만 발생하는 것이 아니라 동시에 여러 개의 이벤트가 발생하기도 한다.예) JButton을 마우스로 클릭하면 액션 이벤트ActionEvent와 함께 마우스 이벤트MouseEvent도 발생 한다. 액션 이벤트는 마우스로 클릭하거나 Enter 키를 눌러 사용하는 컴포넌트에서 주로 발생하고, 마우스 이벤트는 대부분의 컨테이너 또는 컴포넌트에서 발생한다. 이벤..

자바 2023.02.16

자바 UI - 02) Swing (컴포넌트 배치)

컴포넌트 배치컨테이너는 기본적으로 배치 관리자로 컴포넌트를 배치한다컨테이너에는 UI 컴포넌트들이 배치된다.대표적인 컴포넌트에는 버튼, 체크박스, 라디오 버튼, 콤 포, 리스트 등이 있다.배치 관리자는 좌표값으로 컴포넌트를 배치하지 않고, 컨테이너를 몇 개의 구획으로 나누어 하나의 구획에 하나의 컴포넌트를 배치해준다배치 관리자로 배치하게 되면 컨테이너의 크기가 사용자에 의해 변경되더라도 컴포넌트의 크기가 비율적으로 늘거나 줄게되어 배치 모양이 그대로 유지된다는 장점이있다. Layout Manager 컨테이너가 컴포넌트를 배치할 때에는 배치 관리자(Layout Manager)가 무엇이냐에 따라 달라진다.JWindow, JFrame, JDialog는 기본적으로 BorderLayout 배치 관리자를 사용하고,..

자바 2023.02.15

자바 - Swing 컨테이너 구조 (Glasspane, JMenuBar와 ContentPane, LayeredPane)

1) GlassPane GlassPane은 다른 패널 위에 존재하면서 기본적으로 숨겨져 있는 투명한 판이다 예시 코드import javax.swing.*;import java.awt.*;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.awt.event.MouseEvent;import javax.swing.event.MouseInputAdapter;/** An application that requires no other files. */public class GlassPaneDemo { static private MyGlassPane myGlassPane; /** * Create the GUI ..

자바 2023.02.15

자바 UI - 01) Swing (Swing 소개 ,이벤트 디스패칭 스레드 ,Swing 컨테이너)

Swing 소개 UI(User Interface) 프로그램은 윈도우, 메뉴, 버튼, 라디오, 리스트 등 시각적인 컴포넌트를 제공해서 사 용자와 상호작용하도록 돕는다.자바는 이러한 UI 프로그램을 개발할 수 있도록 JDK에서 JFC(Java Foundation Classes)를 제공한다. JFC는 UI 프로그램을 만들기 위한 클래스들의 모음으로, AWT(Abstract Window Toolkit)와 Swing(스윙) 을 제공하고 있다. AWT는 java.awt 패키지로, Swing은 javax.swing 패키지로 사용 가능하다. AWT는 여러 운영체제들이 공통적으로 가지고 있는 컴포넌트만 사용하므로 컴포넌트 수가 제한적이지만,Swing은 자바에서 직접 제공하는 컴포넌트이기 때문에 종 류가 매우 다양하다...

자바 2023.02.15

자바 - 데이터베이스 입출력

JDBC 개요 JDBC 라이브러리자바는 데이터베이스(DB)와 연결해서 데이터 입출력 작업을 할 수 있도록 JDBC 라이브러리 (java.sql 패키지)를 제공JDBC는 데이터베이스 관리시스템(DBMS)의 종류와 상관없이 동일하게 사용할 수 있는 클래스와 인터페이스로 구성 JDBC DriverJDBC 인터페이스를 구현한 것으로, DBMS마다 별도로 다운로드받아 사용DriverManager 클래스: JDBC Driver를 관리하며 DB와 연결해서 Connection 구현 객체를 생성Connection 인터페이스: Statement, PreparedStatement, CallableStatement 구현 객체를 생성하며, 트랜잭션 처리 및 DB 연결을 끊을 때 사용Statement 인터페이스: SQL의 D..

자바 2023.02.13

자바 - 네트워크 입출력

네트워크 기초 네트워크네트워크: 여러 컴퓨터들을 통신 회선으로 연결한 것LAN: 가정, 회사, 건물, 특정 영역에 존재하는 컴퓨터를 연결한 것WAN: LAN을 연결한 것 = 인터넷 서버와 클라이언트서버: 서비스를 제공하는 프로그램을클라이언트: 서비스를 요청하는 프로그램먼저 클라이언트가 서비스를 요청하고, 서버는 처리 결과를 응답으로 제공 IP 주소IP 주소: 네트워크 어댑터(LAN 카드)마다 할당되는 컴퓨터의 고유한 주소ipconfig(윈도우), ifconfig(맥OS ) 명령어로 네트워크 어댑터에 어떤 IP 주소가 부여되어 있는지 확인프로그램은 DNS를 이용해서 컴퓨터의 IP 주소를 검색 Port 번호운영체제가 관리하는 서버 프로그램의 연결 번호. 서버 시작 시 특정 Port 번호에 바인딩 I..

자바 2023.01.31

자바 - 데이터 입출력

입출력 스트림 입력 스트림과 출력 스트림프로그램을 기준으로 데이터가 들어오면 입력 스트림, 데이터가 나가면 출력 스트림프로그램이 다른 프로그램과 데이터를 교환하려면 양쪽 모두 입력 스트림과 출력 스트림이 필요바이트 스트림: 그림, 멀티미디어, 문자 등 모든 종류의 데이터를 입출력할 때 사용문자 스트림: 문자만 입출력할 때 사용자바는 데이터 입출력과 관련된 라이브러리를 java.io 패키지에서 제공바이트 입출력 스트림의 최상위 클래스는 InputStream과 OutputStream문자 입출력 스트림의 최상위 클래스는 Reader와 Writer 바이트 출력 스트림 OutputStreamOutputStream은 바이트 출력 스트림의 최상위 클래스로 추상 클래스모든 바이트 출력 스트림 클래스는 이 Outpu..

자바 2023.01.30
728x90
반응형