자바frame

성규이·2021년 10월 22일
0
post-thumbnail

한번 게임을 만드려고 도전하고 싶어서 해봤어요

먼저, 프레임을 만들어 보았어요

import java.awt.Frame;

public class four2 {
   //메인
   public static void main(String args[])
   {
      Frame f= new Frame();
      f.setTitle("첫 번째 프레임 입니다.");
      f.setBounds(100, 100, 300, 300);
      f.setVisible(true);
   }

}

신기했어요

간단한 움직임을 넣어보았어요

import java.awt.*;
import java.awt.event.*;
import java.awt.Frame;

public class four extends Frame{
   
   private void createDialog(String message) {
      Dialog d = new Dialog(this,message);
      d.setSize(100, 100);
      d.setVisible(true);
      Button b1 = new Button(message);
      b1.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent a) {
            dispose();
         }
      });
      d.add(b1);
      validate();
   }
   
   public four() {
      this.setSize(1200,720);
      this.setVisible(true);
      this.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent e) {
            dispose();
         }
      });
      
      Panel p = new Panel();
      Label l1 = new Label("Player name : ");
      TextField tf = new TextField(10);
      Button b1 = new Button("Create!");
      Label l2 = new Label();
      
      b1.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
            l2.setText(tf.getText());
            l2.setBackground(null);
            p.removeAll(); p.add(l2); //패널에는 l2만
            validate();
            p.requestFocus();
            
         }
      });
      
      p.addKeyListener(new KeyListener() {
      
         public void keyTyped(KeyEvent e) {
            
         }
         
         public void keyReleased(KeyEvent e) {
            
         }
// 300 300 -35 -60
         
         public void keyPressed(KeyEvent e) {
            
            if(e.getKeyCode()==KeyEvent.VK_UP) {
//               l2.setLocation(l2.getX(),l2.getY()-6);
               if(l2.getY()>=0) {
                  l2.setLocation(l2.getX(),l2.getY()-6);
               }
            }else if(e.getKeyCode()==KeyEvent.VK_DOWN) {
//               l2.setLocation(l2.getX(),l2.getY()+6);
               if(l2.getY()<=655) {
                  l2.setLocation(l2.getX(),l2.getY()+6);
               }
            }else if(e.getKeyCode()==KeyEvent.VK_RIGHT) {
//               l2.setLocation(l2.getX()+6,l2.getY());
               if(l2.getX()<=1150) {
                  l2.setLocation(l2.getX()+6,l2.getY());
               }
            }else if(e.getKeyCode()==KeyEvent.VK_LEFT) {
//               l2.setLocation(l2.getX()-6,l2.getY());
               if(l2.getX()>=0) {
                  l2.setLocation(l2.getX()-6,l2.getY());
               }
            }else if(e.getKeyCode()==KeyEvent.VK_ENTER) {
               l2.setBackground(new Color((int)(Math.random()*1000000000)));
               }
            }
      
      });
      p.add(l1); p.add(tf); p.add(b1); add(p);
      validate();
   }
   
   public static void main(String[] args) {
      new four();
   }
}

재밌었어요.

profile
안녕 눈 코 입 달린 감자야

0개의 댓글