A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

import java.awt.* ;
import java.awt.event.* ;//老样子先引入相关包
public class MyBall {//定义小球类
        public static void main(String args[]){
                Frame w = new Frame() ;
                w.setSize(300 , 400) ;//尺寸       
                MyPanel mp = new MyPanel() ;//画布
                w.add(mp) ;//添加画布
                //注册事件
                w.addKeyListener(mp) ;//给画布和框架都添加监听事件  亲测不加会出问题
                mp.addKeyListener(mp) ;       
                w.show() ;//显示
        }
}

class MyPanel extends Panel implements KeyListener{//实现键盘监听接口
        int x = 30 ;//初始化x y 坐标
        int y = 30 ;
        public void paint(Graphics g){
                g.fillOval(x, y, 20, 20) ;//老样子 画小球
        }

        @Override
        public void keyPressed(KeyEvent arg0) {//这里是 主要代码 实现接口 重写几个方法  
                System.out.println (arg0.getKeyCode()) ;
                if(arg0.getKeyCode()==37){//判断  键盘 左
                        x -- ;
                }
                if(arg0.getKeyCode()==38){ //判断  键盘 下
                        y -- ;
                }
                if(arg0.getKeyCode()==39){
                        x ++ ; //判断  键盘 右
                }
                if(arg0.getKeyCode()==40){
                        y ++ ;//判断  键盘 上
                }
                repaint() ;
        }

        @Override
        public void keyReleased(KeyEvent arg0) {
               
        }

        @Override
        public void keyTyped(KeyEvent arg0) {
               
               
        }
}

说一下主要思路:很简单
画小球之前说过了 掠过
这里主要是实现了键盘监听的接口 重写几个方法  然后判断按的是键盘的  上下左右 键 做出相应的运动即可、

2 个回复

正序浏览
是的  都说java不适合 画图 但作为基础开始 学学还是很有用的
回复 使用道具 举报
我来顶一下,java gui貌似不太用了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马