[Java] 쓰레드 (Thread)
·
Java/Base
쓰레드 (Thread)  - 하나의 프로세스 안에서 실제 작업을 수행하는 작업 단위 (작업자)  - 각각 자신만의 작업 공간을 가짐 (Context 영역)  - 코드를 실행할 때 사용하는 main 함수는 '메인 쓰레드'임  - 쓰레드별로 작업 시간이 다를 수 있음#  프로세스 (Process)  - 프로그램이 실행되면 운영체제로부터 메모리를 할당받아, '프로세스 상태'가 됨  - 메모리를 할당받아 실행되고 있는 프로그램  - 주기억장치에 올라간 상태  - 하나의 프로세스는 여러 개의 쓰레드를 가질 수 있음  Thread의 상태 변화   - 작업을 잠깐 쉬면 'Not Runnable' 상태가 됨  - 작업이 완전히 종료되면 'Dead' 상태가 됨 Thread의 기본 명령어#  쓰레드에게 작업을 시작하도록 ..
[Java/Swing] 윤년 계산기 구현
·
Java/Swing (GUI)
- 4의 배수인 해는 윤년임  - 4의 배수이면서 100의 배수인 해는 윤년이 아님      → 4의 배수이면서 100의 배수가 아니어야 윤년임  - 100의 배수이면서 400의 배수인 해는 윤년임 코드#  윤년 계산 기능 파일public class LeapYear { // 메서드 public boolean isLeapYear(int year) { // 아래 if 문의 조건에 걸리지 않는다면 false로 유지됨 boolean result = false; if (year % 4 == 0) { if (year % 100 != 0) { result = true; // year % 4 == 0이고..
[Java/Swing] KeyListener - 이미지 움직이기
·
Java/Swing (GUI)
- 키보드 방향키로 움직이되, 이미지가 창 밖으로 나가지 않도록 함 코드// 인터페이스 파일 //public interface Moveable { void left(); void right(); void up(); void down();}------------------------------------// 클래스 파일 //public class MoveLabelFrame3 extends JFrame implements Moveable { private JLabel label; private int labelX; private int labelY; private final int SIZE_X = 800; private final int SIZE_Y = 800..
[Java/Swing] MouseListener - 컴포넌트 이동시키기
·
Java/Swing (GUI)
- 마우스를 클릭하면 해당 위치로 컴포넌트가 이동하도록 함 코드public class MouseEventListener1 extends JFrame{ private JLabel labelText; private int labelTextX; private int labelTextY; public MouseEventListener1() { initData(); setInitLayout(); addEventListener(); } private void initData() { setTitle("클릭으로 문자열 이동시키기"); setSize(500, 500); setDefaultCloseOperation(..
[Java/Swing] ActionListener - 배경 색 변경하기
·
Java/Swing (GUI)
- 버튼을 누르면 패널의 배경이 지정된 색으로 변경되도록 함  - 배열을 사용해서 코드 간소화 코드public class ChangeRainbow extends JFrame implements ActionListener { // 버튼을 배치할 패널 private JPanel panel1; // 배경 색을 변경할 패널 private JPanel panel2; // 버튼 배열 private JButton[] buttons = new JButton[5]; // 배경 색 배열 private Color[] colors = {Color.red, Color.orange, Color.yellow, Color.green, Color.blue}; public ChangeRa..