/*
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
public class Main extends JFrame{
private JLabel[] label = new JLabel[10];
public Main() {
setTitle("Ten 레이블 클릭");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c = getContentPane();
c.setLayout(null);
MyMouseListener lis1 = new MyMouseListener();
for(int i=0; i<10; i++) {
int x = (int)(Math.random()*500);
int y = (int)(Math.random()*500);
label[i] = new JLabel(Integer.toString(i));
label[i].setOpaque(true);
label[i].setLocation(x,y);
label[i].setSize(15, 15);
label[i].addMouseListener(lis1);
c.add(label[i]);
}
setSize(500,500);
setVisible(true);
}
public static void main(String[] args) {
new Main();
}
class MyMouseListener implements MouseListener{
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
JLabel label2 = (JLabel)e.getSource();
if(label2 == label[0]) {
label2.setVisible(false);
}
for(int i=1; i<10; i++) {
if(label2 == label[i]) {
if(label[i-1].isVisible()==false){
if(label[i].isVisible()==true) {
label2.setVisible(false);
if(i==9) {
for(int j = 0; j<10; j++) {
label[j].setVisible(true);
int x = (int)(Math.random()*500);
int y = (int)(Math.random()*500);
label[j].setLocation(x,y);
}
}
}
}
}
}
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
}
}
*/
/*
import java.lang.Thread;
public class Main{
public Main() {
TimerThread timer = new TimerThread();
timer.start();
}
public static void main(String[] args) {
new Main();
}
class TimerThread extends Thread{
int n =0;
public void run() {
while(true) {
System.out.println(n);
n++;
try {
sleep(1000);
}
catch(InterruptedException e) {
return;
}
}
}
}
}
*/
/*
import java.lang.Thread;
public class Main{
public Main() {
Thread th = new Thread(new TimerRunnable());
th.start();
th.interrupt();
}
public static void main(String[] args) {
new Main();
}
class TimerRunnable implements Runnable{
int n = 0;
@Override
public void run() {
// TODO Auto-generated method stub
while(true) {
System.out.println(n);
n++;
try {
Thread.sleep(1000);
}
catch(InterruptedException e) {
return;
}
}
}
}
}
/*
public class Main{
public Main() {
long id = Thread.currentThread().getId();
String name = Thread.currentThread().getName();
int priority = Thread.currentThread().getPriority();
Thread.State s = Thread.currentThread().getState();
System.out.println("현재 스레드 이름 = "+ name);
System.out.println("현재 스레드 ID = "+ id);
System.out.println("현재 스레드 우선순위 값 = "+priority);
System.out.println("현재 스레드 상태 = "+ s);
}
public static void main(String[] args) {
new Main();
}
}
*/
/*
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
class TimerRunnable implements Runnable{
private JLabel timerLabel;
public TimerRunnable(JLabel timerLabel){
this.timerLabel = timerLabel;
}
@Override
public void run() {
// TODO Auto-generated method stub
int n=0;
while(true) {
timerLabel.setText(Integer.toString(n));
n++;
try {
Thread.sleep(1000);
}catch(InterruptedException e){
return;
}
}
}
}
public class Main extends JFrame{
private Thread th;
public Main() {
setTitle("ThreadInterruptEX 예제");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c = getContentPane();
c.setLayout(new FlowLayout());
JLabel timerLabel = new JLabel();
timerLabel.setFont(new Font("Gothic", Font.ITALIC, 80));
TimerRunnable runnable = new TimerRunnable(timerLabel);
th = new Thread(runnable);
c.add(timerLabel);
JButton btn = new JButton("kill timer");
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
th.interrupt();
JButton btn = (JButton)e.getSource();
btn.setEnabled(false);
}
}
);
c.add(btn);
setSize(300,170);
setVisible(true);
th.start();
}
public static void main(String[] args) {
new Main();
}
}
*/



