Thread를 이용하여 timer를 구현하는 방법에 대해 설명합니다.



반응형
LIST

Timer를 구현하는 방법에 대해서 설명합니다.



반응형
LIST


Thread 클래스를 이용하여 multi-threading을 구현하는 방법에 대해서 설명합니다.




반응형
LIST


Java언어가 제공하는 multi threading 개념에 대해서 설명합니다.




반응형
LIST
이미지를 읽어들여서 화면에 표시하는 소스코드입니다.
BufferedImage 클래스와 WritableRaster 클래스를 이용합니다.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package univ.inu.embedded.imgeditor;

import java.awt.*;
import java.awt.image.*;
import java.io.*;

import javax.imageio.*;
import javax.swing.*;

public class ImageFrame extends JFrame {

	private int width = 0;
	private int height = 0;
	private BufferedImage img = null;
	private MyImgPanel imgPanel = null;
	
	private class MyImgPanel extends JComponent
	{
		
		public void paint(Graphics g)
		{
			Graphics2D g2 = (Graphics2D)g;
			g2.drawImage(img, 0, 0, null);
		}
	}
	
	private void loadImage(String fname)
	{
		try {
			img = ImageIO.read(new File(fname));
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		WritableRaster wr = img.getRaster();
		
		int[] pixelValue = new int[3];
		
		for (int i = 0; i < img.getWidth(); i++)
		{
			for (int j = 0; j < img.getHeight(); j++)
			{
				wr.getPixel(i, j, pixelValue);
				int v = (pixelValue[0]+pixelValue[1]+pixelValue[2])/3;
				
				if (v > 127)
				{
					v = 255;
				}
				else
				{
					v = 0;
				}
				
				pixelValue[0] = v;
				pixelValue[1] = v;
				pixelValue[2] = v;
				wr.setPixel(i, j, pixelValue);
			}
		}

	}
	
	public ImageFrame ()
	{
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		loadImage("dog.jpg");
		width = img.getWidth();
		height = img.getHeight();
		
		imgPanel = new MyImgPanel();
		imgPanel.setSize(width, height);
		
		this.add(imgPanel);
		this.setSize(width+10, height+10);
		this.setVisible(true);
		
	}
	
	public static void main(String argv[])
	{
		new ImageFrame();
	}

}


반응형
LIST

Heap에서 데이터를 삭제하는 방법의 구현에 대해서 설명합니다.



반응형
LIST

Heap에 데이터를 추가하는 방법의 구현에 대해서 설명합니다.



반응형
LIST

우선순위큐를 만드는 Heapify 구현에 대해서 설명합니다.



반응형
LIST

Heap에 데이터를 추가하고 삭제하는 과정에 대해서 설명합니다.



반응형
LIST

배열을 이용하여 구현하는 Heap에 대해 설명합니다.



반응형
LIST

Heap을 이용한 우선순위큐의 개념에 대해서 설명합니다.



반응형
LIST

SLL을 이용하여 우선순위 큐를 구현하는 것에 대해 설명합니다.



반응형
LIST

우선순위 큐에 대해서 설명합니다.



반응형
LIST

Event 처리 프로그래밍을 쉽게 도와주는 Adapter 클래스에 대해서 설명합니다.



반응형
LIST

Button 컴포넌트에서 발생하는 이벤트 처리에 대해서 설명합니다.



반응형
LIST

Event 처리에 사용되는 listener interface에 대해서 설명합니다.



반응형
LIST

Event 클래스에 대해서 설명합니다.



반응형
LIST

Event based 프로그래밍을 할 때의 유의점에 대해서 설명합니다.



반응형
LIST

Event based programming에서 사용되는 용어에 대해서 설명합니다.



반응형
LIST

Event based programming에 대해 설명합니다.



반응형
LIST

지역변수와 전역변수에 대해 설명합니다.



반응형
LIST

여러 개의 함수를 호출하는 예제 프로그램을 작성합니다.

주어진 숫자가 소수인지를 판단하는 함수와 1부터 그 숫자까지의 합을 구하는 함수를 이용합니다.



반응형
LIST

함수 body없이 이름만 선언하는 forward declaration에 대해서 설명합니다.



반응형
LIST

Factorial을 계산하는 함수를 작성해 봅니다.



반응형
LIST

주어진 숫자가 소수인지를 판단하는 함수를 작성합니다.



반응형
LIST

함수를 이용하여 구구단을 출력하는 예제 프로그램을 작성합니다.



반응형
LIST

함수 호출 (invocation)에 대해 설명합니다.



반응형
LIST

함수 예제문제 몇 가지를 다뤄봅니다.



반응형
LIST

다양한 함수들에 대해 예제를 통해 설명합니다.



반응형
LIST

함수의 인수 (argument)에 대해 설명합니다.



반응형
LIST

+ Recent posts