[C#] pictureBox 시계만들기
·
Programming Languages/C#
[Form1] pictureBox - 속성의 sizeMode를 stretchImage, lmage를 리소스 컨텍스트 로컬 리소스로 가져옴 timer동작할려면 enabled true로 변경, interval를 1초로 하기 위해서 100을 1000으로 변경 timer의 이벤트 tick줌 [실행화면] using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace 시계 { pub..
[JAVA] 이미지아이콘 크기 조절
·
Programming Languages/JAVA
ImageIcon icon = new ImageIcon("image/우산_일러스트_08.jpg"); //이미지아이콘 객체를 생성 Image img = icon.getImage(); //변경할이미지 = 변경할아이콘.getImage(); 이미지아이콘을 이미지로 변환 Image changeImg = img.getScaledInstance(200, 150, Image.SCALE_SMOOTH); //추출된 이미지의 크기를 조절하여 새로운 이미지 객체 생성 ImageIcon changeIcon = new ImageIcon(changeImg); //새로운 이미지로 이미지아이콘 객체를 생성 JLabel imageLabel = new JLabel(changeIcon); //JLabel imageLabel = new JL..
[C#] 도형(선, 사각형, 원)
·
Programming Languages/C#
▶ Graphics 클래스의 주요 메소드 DrawArc : 좌표, 너비, 높이의 쌍으로 지정된 타원의 부분을 나타내는 호를 그림 DrawBezier : 4개의 Poin 구조체로 정의되는 3차원 곡선 스플라인을 그림 DrawCurve : Point 구조체의 지정된 배열을 따라 카디널 스플라인을 그림 DrawEllipse : 좌표, 높이, 너비의 쌍으로 지정된 경계 사각형에 의해 정의되는 타원을 그림 DrawIcon : 지정된 아이콘에 의해 나타나는 이미지를 지정된 좌표에 그림 DrawImage : 지정된 이미지를 지정된 위치에 그림 DrawLine : 좌표에 의해 지정된 2개의 점을 연결하는 선을 그림 DrawPie : 좌표, 너비, 높이 및 2개의 방사형 선에 의해 지정된 타원으로 정의된 부채꼴 모양을 ..
[C#] 그래픽의 GDI+, 펜과 브러시
·
Programming Languages/C#
▶ GDI = 윈도우에서 그림을 그리는 도구 윈도우 운영체제에는 각 벤더사의 디바이스 드라이버의 정보를 얻어와서 그래픽 카드의 종류애 상관없이 동일한 형태의 그래픽 출력을 제공 그래픽 디바이스의 독립적인 기능을 제공해주는 인터페이스를 GDI라고 함 -> 윈도우 운영체제에서 제공하느 그래픽 출력장치 인터페이스 gdi.dll라이브러리 형태로 제공 ▶GDI+ GDI의 기능을 확장한 버전 System.Drawing 네임스페이스가 GDI+라이브러리 * GDI+ 주요 클래스 Pen : 선 스타일과 색상 등을 결정 Brush : 삼각형, 사각형, 원 등의 내부를 채우는 데 사용 Graphics : 텍스트나 이미지 등을 출력할 때 사용 Image : Bitmap, Icon, Cursor 등 하위 클래스에 기능을 제공하..
[C#] 트레이아이콘
·
Programming Languages/C#
윈도우 프로그램이 실행되면 화면에 보여야 하지만, 동작하더라도 화면에 보일 필요가 없는 경우 ex) 백신 프로그램 : 늘 바이러스에 대한 감시 동작을 하고 있어야 함. 동작하고 있으므로 사용자에게 여러 가지 알림을 줄 수도 있지만 화면에 보일 필요는 없음 컴퓨터 화면 아래쪽 작업 표시줄의 가장 오른쪽에 트레이아이콘 볼 수 있음 트레이 아이콘을 구현하기 위해 C#에서 제공하는 컨트롤은 NotifyIcon [실습] using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using Syst..
[C#] 메뉴, 대화상자
·
Programming Languages/C#
☞ 메뉴 메뉴는 MenuStrip이라는 이름의 컨트롤로 제공. [도구상자]에서 메뉴 항목에 있는 [MenuStrip]을 디자이너에 배치 MenuStrip 컨트롤은 폼의 메뉴 구조에 대한 컨테이너를 나타냄 . 메뉴 구조에서 개별 메뉴를 하나씩 설정할 수 있는데, 각 메뉴는 ToolStripMenuItem개체로 추가됨. 하위 메뉴 추가가 가능하고 각 메뉴의 항목을 MenuItem, ComboBox, TextBox 중에 하나를 선택하여 추가할 수도 있음 ☞ MenuStrip 속성 및 메소드 ContextMenuStrip : ContextMenuStrip이 선택되어 있는지 여부를 나타내거나 설정 Enabled : 컨트롤 사용 여부를 설정 Items : MenuStrip에 등록된 모든 항목을 가져옴 Getltem..
[JAVA X DB]
·
Programming Languages/JAVA
☞ JDBC (Java DataBase Connectivity) = 자바에 데이터에비스에 저장된 데이터를 연결(접근 및 조작)할 수 있게 하는 API JDBC드라이버 매니저가 자바응용프로그램과 오라클이든, MySQL JDBC드라이버를 연결해줌 오라클깔면서 생긴 Run SQL Command Line에 들어간다. 1. 관리자 권한으로 접속 : conn / as sysdba 2. 유저 확인 : show user 3. 사용자 생성 : create user temp identified by 1234; - 사용자 : temp, 비밀번호 : 1234. 4. 처음에 사용자가 만들어지면 락이 걸려있으므로 락 해제 : alter user temp account unlock; 5. 사용자가 여러 동작(연결, 리소스 사용)을..
[JAVA 라이브러리포함]
·
Programming Languages/JAVA
두 가지 방법이 있음 ① 프로젝트 만들 때 부터 생성 1) New - Other - Maven - Maven Project 로 생성 ② 기본 Java프로젝트 생성 후 추가 프로젝트 MR - Configure - Convert to Maven Project - 그냥 Finish 클릭 프로젝트에 target폴더의 pom.xml이라는 파일이 사진처럼 생성됨 version과 build사이에 dependencies를 넣어줌 구글에 Maven Repository를 검색해서 들어감 https://mvnrepository.com/ 검색창에 MySQL검색 후 Maven소스 복사함(MySQL 띄어쓰기x) 복사한 Maven코드를 이클립스 dependencies사이에 붙여넣음 위에 있는 코드는 지우거나 해당 코드에 대한 설명..
[JAVA] JTable 가운데 정렬
·
Programming Languages/JAVA
//테이블 내용 가운데정렬 // DefaultTableCellHeaderRenderer 생성 (가운데 정렬을 위한) DefaultTableCellRenderer tScheduleCellRenderer = new DefaultTableCellRenderer(); // DefaultTableCellHeaderRenderer의 정렬을 가운데 정렬로 지정 tScheduleCellRenderer.setHorizontalAlignment(SwingConstants.CENTER); // 정렬할 테이블의 ColumnModel을 가져옴 TableColumnModel tcmSchedule = 테이블.getColumnModel(); // 반복문을 이용하여 테이블을 가운데 정렬로 지정 for (int i = 0; i < tc..
[C#] 이벤트
·
Programming Languages/C#
☞ 이벤트 : 특정 상황이 발생했을 때 알리고자 하는 용도 - (호출을 의미 +데이터) - 이벤트를 발생시키는 클래스를 게시자 - 이벤트를받거나 처리하는 클래스를 구독자 - 델리게이트 기반(메서드 호출) - 이벤트 메서드 안에서만 사용 가능 ☞ 이벤트 핸들러(이벤트 처리기) 이벤트의 신호를 포착한 후 프로그램에 전달하여 이벤트에 대한 처리를 해야 한다. 이렇게 이벤트 발생 시 이벤트를 처리하는 기능을 이벤트 핸들러 또는 이벤트 처리기라고 한다. - 이벤트처리기는 그냥 일반 메소드 - 사용자가 인위적으로 호출할 수 없고, 이벤트 발생 시 자동으로 호출되어 기능을 수행 ☞ 이벤트 선언 형식 [접근지정자] event 델리게이트타입 이벤트이름; ex) delegate void DelegateType(string..
[C#] 콜백함수
·
Programming Languages/C#
☞ 콜백함수 : 반대로 호출 - 콜백은 주로 이벤트 기반 프로그래밍에서 사용, 이벤트가 발생되었을 떄 내부적으로 콜백 메소드에 의해 처리 ☞ 콜백메소드 사용 - 대리할 메서드와 동일한 타입을 델리게이트를 선언 - [접근지정자] delegate return형 델리게이트타입(매개변수); - 콜백메서드 정의 후 메서드 안에서 델리게이트 호출. 이때 위에서 선언한 델리게이트 타입을 인자로 넣어서 선언 ex) delegate void CalcDelegate (int x, int y); void CallBack(int x, int y, CalcDelegate dele){ dele(x, y); } void Plus(int x, int y){...} void Minus(int x, int y){...} [예제] usi..
[C#] 델리게이트, 멀티델리게이트
·
Programming Languages/C#
☞ 델리게이트 : 권한, 임무들을 위임하다, 대리자, 델리게이트의 본질은 메서드 참조형 - 프로그래밍에서 대리자 : 메소드를 직접 호출하지않고 델리게이트를 이용해서 지정 메소드를 대신 호출해 주는 기능 ☞ 델리게이트 사용방법 1. 선언 - 접근 한정자 : 생략가능 주로 public [접근 한정자] delegate 데이터형 이름(인수목록); ex) delegate int TypeF(int a, int b); - 메소드와 동일한 전달인자와 반환형으로 델리게이트 타입을 선언 맨 앞에 delegate키워드를 붙이고 데이터형과 이름을 작성한 뒤 인수목록을 똑같이 맞춰주면 됨 2. 델리게이트 사용 - 선언한 델리게이트 타입으로 델리게이트 변수 생성, 생성한 델리게이트 변수에 해당 메소드를 참조시킴 - 델리게이트도 ..
[C#] 직렬화
·
Programming Languages/C#
☞ 직렬화 = 객체를 저장하거나 메모리, 데이터베이스 또는 파일로 전송하기 위해 객체를 byte 스트림으로 변환하는 프로세스 객체 상태를 메모리나 영구 저장 가능한 0과 1의 순서로 바꾸는 것 -> byte 스트림으로 변환하는 이유 : 객체를 다른 프로그램에 그대로 전달하는 것은 문제가 되므로 일정한 형식의 데이터의 기본 단위인 byte 형태로 변환 닷넷에서는 직렬화를 사용해 프로그램에서 사용하는 객체를 파일에 저장하기 위해 byte 스트림으로 변환시키고, 역직렬화를 사용해 파일로부터 읽은 byte스트림을 객체로 변환시키는 기능을 제공 객체 직렬화는 SerializableAttribute클래스를 통해 구현 직렬화하고자 하는 부분에 [Serializable]을 명시, 직렬화하고 싶지 않은 부분에 NonSe..
[Java 스윙] JPanel size, JLabel Font 메소드
·
Programming Languages/JAVA
1. setResizable(false) : 실행화면 크기 고정 2. setPreferredSize(new Dimension(x,y); : JPanel 크기 조절, setSize안먹힘 3. setFont(글씨체, 글씨 스타일, 크기) : JLabel 글씨크기 스타일 * 예제 package swing.frame; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JLabel; import ja..
[Java] 스윙 배치관리자
·
Programming Languages/JAVA
1. 컨텐트 팬 알기 Container c = frame.getContentPane(); c.add(new JButton("버튼"); //컨텐트 팬에 직접 컴포넌트 부착 2. 프로그램 종료 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //프레임 윈도우가 닫힐 때 프로그램도 함께 종료 3. 배치관리자 : 컴포넌트가 컨테이너에 어떻게 위치할 것인지 관리 - 컨테이너는 하나의 배치관리자를 가짐 - 컨테이너에 컴포넌트가 부착되는 시점에 배치관리자는 컴포넌트의 위치와 크기를 결정 - 컨테이너의 크기가 변경되면 배치관리자는 컨테이너의 모든 컴포넌트들의 위치와 크기를 재조정 - 다른 컴포넌트의 상대위치에 배치 -> 컨테이너의 크기가 변하면 컴포넌트의 위치도 변함 4. Flow..
[Java 스윙] 기본 Frame
·
Programming Languages/JAVA
package swing.frame; import java.awt.BorderLayout; import javax.swing.JButton; import javax.swing.JFrame; public class MyFrame extends JFrame { // JFrame을 불러옴 public MyFrame(String title, int width, int height) { this.setTitle(title); setSize(width, height);//사이즈를 300*300으로 //setLocation(300, 200);//위치 설정 setLocationRelativeTo(this);//내 자신으로부터 상대적인 위치 잡음 setDefaultCloseOperation(JFrame.EXIT_ON_C..
[Java] 스윙 계산기 이벤트
·
Programming Languages/JAVA
package swing.events; import java.awt.BorderLayout; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; public class Calculator extends JFrame implements ActionListener { private JLabel l..
[Java 스윙컴포넌트] JList<E>, JComboBox<E>
·
Programming Languages/JAVA
◈ JList - 사용자에게 하나 이상의 아이템을 보여주고 아이템을 선택하도록 하는 리스트 컴포넌트를 만들 수있음 - E는 리스트에 삽입하는 아이템 타입으로, 리스트를 생성할 때 E 대신 아이템 타입을 대입하여 구체화해야 함 - 아이템은 문자열과 이미지 아이콘 모두 가능 - JList자체는 스크롤 지원 X -> 스크롤이 가능하려면 JScrollPane에 삽입해야 함 * 문자열 배열 이용하여 리스트 생성 //문자열 배열생성 String[] tests = {"test1", "test2", "test3", "test4", "test5", "test6", "test7", "test8", "test9", "test10",}; //만든 배열 이용하여 문자열리스트 생성 JList lstTest = new JList(..
[JAVA_스윙컴포넌트] Menu
·
Programming Languages/JAVA
* 메뉴 구성 JMenuItem, JMenu, JMenuBar, addSeparator() - JMenuItem(메뉴 아이템) : 파일메뉴내에 저장 등의 세부기능을 하는 컴포넌트 - JMenu(메뉴) : 여러 개의 메뉴 아이템을 가짐. 파일, 편집 등 하나의 메뉴기능을 하는 컴포넌트 - JMenuBar(메뉴바) : 메뉴들을 붙이는 바, 메뉴기능을 하는 컴포넌트로 프레임에 부착 - addSeparator() : 메뉴 아이템 사이의 분리선으로 separator라고 부름. *메뉴 만들기 1. 메뉴바 생성 JMenuBar mb = new JMenuBar(); 2. 메뉴를 만들어 메뉴바에 붙임 JMenu menuFile = new JMenu("파일"); //메뉴 만들기 mb.add(menuFile); //메뉴바에..
[Java] 스윙 회원정보 수정창 레이아웃
·
Programming Languages/JAVA
import java.awt.BorderLayout; import java.awt.GridLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; public class UserCorrection extends JFrame { public UserCorrection(String title, int width, int height) { this.setTitle(title); setSize(width, height); setLocationRelativeTo(this); setDefaultCloseOper..
[Java] 자바 스윙 회원등록 창 레이아웃
·
Programming Languages/JAVA
import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; public class UserRegistration extends JFrame { public UserRegistration(String title, int width, int height) { this.setTitle(title); setSize(width, height); setLocationRelativeTo..
[JAVA]도서정보 수정 GridLayout
·
Programming Languages/JAVA
import java.awt.BorderLayout; import java.awt.GridLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; public class Book_Information_Correction extends JFrame { public Book_Information_Correction(String title, int width, int height) { this.setTitle(title); setSize(width, height); setLocationRelativeTo(..
[JAVA]도서관리프로그램 이미지 화면
·
Programming Languages/JAVA
import java.awt.Container; import java.awt.FlowLayout; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; public class BookManger extends JFrame { public BookManger(String title, int width, int height) { this.setTitle(title); setSize(width, height); setLocationRelativeTo(this); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 프레임 윈도우..
[JAVA]2015전국기능대회 - 관리자 로그인 이미지 창
·
Programming Languages/JAVA
import java.awt.; import javax.swing.; public class AdministratorLogin extends JFrame { public AdministratorLogin() { // 생성자 setTitle("관리자 로그인"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container c = getContentPane(); c.setLayout(new FlowLayout()); // 삽입되는 순서대로 왼쪽에서 오른쪽으로 컴포넌트 배치 setSize(435, 250); setVisible(true); setResizable(false); // 프레임 창 사이즈 고정 // 이미지 레이블 생성 ImageIcon img = new I..