/*public class Main extends JFrame{
public Main() {
setTitle("8번문제 533p");
setSize(700,600);
setVisible(true);
Container c = getContentPane();
c.setLayout(new BorderLayout());
JPanel up = new JPanel();
JPanel gv = new JPanel();
JPanel dn = new JPanel();
c.add(up,BorderLayout.NORTH);
c.add(gv,BorderLayout.CENTER);
c.add(dn,BorderLayout.SOUTH);
up.setBackground(Color.LIGHT_GRAY);
up.add(new JButton("오푼"));
up.add(new JButton("클루즈"));
up.add(new JButton("아우트"));
gv.setBackground(Color.GRAY);
gv.setLayout(null);
for(int i = 0;i < 10;i++) {
JLabel l = new JLabel("*");
int x = (int)(Math.random()*200) + 30;
int y = (int)(Math.random()*240) + 20;
l.setLocation(x, y);
l.setSize(15, 15);
l.setForeground(Color.GREEN);
gv.add(l);
}
dn.setLayout(new FlowLayout());
//dn.setBackground(Color.WHITE);
dn.add(new JButton("워든 인푿"));
JTextField j = new JTextField(50);
dn.add(j);
}
public static void main(String[] args) {
new Main();
}
}*/
/*
public class Main extends JFrame {
public Main() {
setTitle("10단원-실습 01 이베트 리씨너");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c = getContentPane();
c.setLayout(new FlowLayout());
JButton btn = new JButton("Atsion");
btn.addActionListener(new MyActionListener());
c.add(btn);
setSize(350,150);
setVisible(true);
}
class MyActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
JButton b = (JButton)e.getSource();
if(b.getText().equals("Atsion"))
b.setText("앧션");
else
b.setText("Atsion");
}
}
public static void main(String[] args) {
new Main();
}
}
20220605
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//import java.util.Random;
/*public class Main extends JFrame {
private JLabel la = new JLabel("Hello");
public Main() {
setTitle("blank");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c = getContentPane();
c.setLayout(null);
c.addMouseListener(new MyMouseListener());
la.setSize(50, 20);
la.setLocation(30, 30);
c.add(la);
setSize(250, 250);
setVisible(true);
}
class MyMouseListener implements MouseListener {
public void mousePressed(MouseEvent e) {
int x = e.getX();
int y = e.getY();
la.setLocation(x, y);
}
public void mouseReleased(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
}
public static void main(String[] args) {
new Main();
}
}*/
// MIS 001
/*
public class Main extends JFrame {
private JLabel la = new JLabel("Hello");
Color [] colors = {Color.black, Color.BLUE , Color.green, Color.DARK_GRAY , Color.CYAN , Color.red , Color.MAGENTA , Color.gray , Color.lightGray,Color.orange,Color.pink,Color.YELLOW};
public Main() {
setTitle("blank");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c = getContentPane();
c.setLayout(null);
c.addMouseListener(new MyMouseListener());
la.setSize(50, 20);
la.setLocation(30, 30);
c.add(la);
setSize(250, 250);
setVisible(true);
}
//인터페이스를 implements 하는 경우 모든 메소드를 구현 해야함!!
// 그래서 대신 필요한 메소드만 구현하려면 어댑터 클래스 extends
class MyMouseListener extends MouseAdapter{
public void mousePressed(MouseEvent e) {
int x = e.getX();
int y = e.getY();
la.setLocation(x, y);
int num = (int)(Math.random()*colors.length);
la.setForeground(colors[num]);
}
}
class MyMouseListener implements MouseListener {
public void mousePressed(MouseEvent e) {
int x = e.getX();
int y = e.getY();
la.setLocation(x, y);
// 1. Math.random() -> 0이상 1 미만의 랜덤 실수
// 2. Math.random()*10 -> 0이상 10미만의 랜덤 실수
// 3. (int)(Math.random()*10) -> 0이상 10미만의 랜덤 정수
// 4. (int)(Math.random()*10)+5 -> 5이상 15미만의 랜덤 정수
int num = (int)(Math.random()*colors.length);
la.setForeground(colors[num]);
}
public void mouseReleased(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
Container c = getContentPane();
c.setBackground(Color.BLUE);
}
public void mouseExited(MouseEvent e) {
Container c = getContentPane();
c.setBackground(Color.RED);
}
}
public static void main(String[] args) {
new Main();
}
}
public class Main extends JFrame {
private JLabel lao = new JLabel("getKeyCode()");
private JLabel lat = new JLabel("getKeyChar()");
private JLabel lah = new JLabel("getKeyText()");
public Main() {
setTitle("blank");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c = getContentPane();
c.setLayout(new FlowLayout());
c.add(lao);
c.add(lat);
c.add(lah);
c.addKeyListener(new MyKeyListener());
setSize(300, 150);
setVisible(true);
c.setFocusable(true);
c.requestFocus();
}
//인터페이스를 implements 하는 경우 모든 메소드를 구현 해야함!!
// 그래서 대신 필요한 메소드만 구현하려면 어댑터 클래스 extends
class MyKeyListener extends KeyAdapter{
public void keyPressed(KeyEvent e) {
int keyCode = e.getKeyCode();
char keyChar = e.getKeyChar();
lao.setText(Integer.toString(keyCode));
lat.setText(Character.toString(keyChar));
lah.setText(KeyEvent.getKeyText(keyCode));
if(keyCode==112) {
Container c = getContentPane();
c.setBackground(Color.GREEN);
}
else if(keyCode == 53) {
Container c = getContentPane();
c.setBackground(Color.YELLOW);
}
}
}
public static void main(String[] args) {
new Main();
}
}*/
public class Main extends JFrame {
private JLabel la = new JLabel("Hello");
public Main() {
setTitle("blank");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c = getContentPane();
c.setLayout(null);
c.add(la);
la.setLocation(50, 50);
la.setSize(100,20);
c.addKeyListener(new MyKeyListener());
setSize(300, 300);
setVisible(true);
c.setFocusable(true);
c.requestFocus();
}
//인터페이스를 implements 하는 경우 모든 메소드를 구현 해야함!!
// 그래서 대신 필요한 메소드만 구현하려면 어댑터 클래스 extends
class MyKeyListener extends KeyAdapter{
public void keyPressed(KeyEvent e) {
int keyCode = e.getKeyCode();
char keyChar = e.getKeyChar();
int x = la.getX();
int y = la.getY();
if(keyCode==38 && y!=0 ) {
la.setLocation(x, y-10);
}
else if(keyChar == KeyEvent.VK_LEFT && x!=0) {
la.setLocation(x-10, y);
}
else if(keyCode == 40 && y!=300) {
la.setLocation(x,y+10);
}
else if (keyCode == 39 && x!= 300) {
la.setLocation(x+10, y);
}
}
}
public static void main(String[] args) {
new Main();
}
}



