日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java乌龟_java用swing画可以行走的乌龟

發(fā)布時(shí)間:2024/9/19 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java乌龟_java用swing画可以行走的乌龟 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

代碼如下:

import java.awt.Color;

import java.awt.Graphics;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import javax.swing.JFrame;

import javax.swing.JPanel;

/**

* @author BruceLong

* 繪制王八,并設(shè)置鍵盤監(jiān)聽事件

* */

public class TurtleMove {

public static void main(String[] args) {

//1. 創(chuàng)建一個窗體,大小1366*768

JFrame frame = new JFrame();

frame.setSize(1366, 768);

/*//畫一個板子

JPanel panel = new JPanel();

//設(shè)置面板的背景顏色

panel.setBackground(Color.BLACK);

//設(shè)置窗體添加面板

frame.add(panel);*/

/**創(chuàng)建一個面板,并設(shè)置面板的背景顏色

* 并添加到窗體上去*/

XiaoWangBa xwb = new XiaoWangBa();

xwb.setBackground(Color.LIGHT_GRAY);

//窗體添加鍵盤監(jiān)聽事件,監(jiān)聽對象是面板

frame.addKeyListener(xwb);

frame.add(xwb);

//3.設(shè)置窗體標(biāo)題為:“畫王八-個人簽名”

frame.setTitle("畫王八-WangYunlong");

//4.設(shè)置窗體關(guān)閉按鈕功能

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//5.設(shè)置窗體大小不可更改

frame.setResizable(false);

//2.設(shè)置窗體可見

frame.setVisible(true);

}

}

//面板類

class XiaoWangBa extends JPanel implements KeyListener{

//王八的坐標(biāo)位置

int x = 400,y = 200;

//王八四條腿(foot)的坐標(biāo)

int fx1 = 400,fy1 = 200;

int fx2 = 400,fy2 = 200;

int fx3 = 400,fy3 = 200;

int fx4 = 400,fy4 = 200;

//移動變量

int f = 0;

//繪制方法,先輸入paint再alt+/

@Override //JFrame frame

public void paint(Graphics g) {

// TODO Auto-generated method stub

super.paint(g);

//1.第一步先設(shè)置畫筆的顏色

//2.第二步再對畫布進(jìn)行畫圖設(shè)置坐標(biāo)

/**畫腦袋*/

//設(shè)置畫筆顏色

//g.setColor(Color.yellow);

// Red Green Blue

g.setColor(new Color(0, 100, 0));

//繪制實(shí)心橢圓

g.fillOval(x, y, 70, 100);

/**畫眼睛*/

//設(shè)置畫筆顏色

g.setColor(Color.black);

g.fillOval(x+10, y+30, 10, 10);

g.fillOval(x+50, y+30, 10, 10);

/*//眼睛發(fā)亮

g.setColor(Color.white);

g.fillOval(x+15, y+30, 4, 4);

g.fillOval(x+55, y+30, 4, 4);*/

/**畫尾巴*/

g.setColor(new Color(0, 100, 0));

g.fillOval(x, y+290, 60, 80);

//設(shè)置畫筆顏色和背景顏色相同

g.setColor(Color.LIGHT_GRAY);

g.fillOval(x+20, y+300, 60, 80);

/**畫王八四條腿*/

//左上

g.setColor(new Color(0, 100, 0));

g.fillOval(fx1-85, fy1+80, 70, 70);

//右上

g.setColor(new Color(0, 100, 0));

g.fillOval(fx2+85, fy2+80, 70, 70);

//左下

g.setColor(new Color(0, 100, 0));

g.fillOval(fx3-85, fy3+235, 70, 70);

//右下

g.setColor(new Color(0, 100, 0));

g.fillOval(fx4+85, fy4+235, 70, 70);

/**繪制王八殼*/

g.setColor(new Color(0, 50, 0));

g.fillOval(x-66, y+70, 200, 240);

/**繪制龜紋*/

g.setColor(Color.black);

g.drawOval(x-66, y+70, 200, 240);

//(上)左中右

g.setColor(Color.yellow);

g.fillOval(x-40, y+130, 50, 30);

g.setColor(Color.BLUE);

g.fillOval(x+15, y+80, 30, 50);

g.setColor(Color.yellow);

g.fillOval(x+60, y+130, 50, 30);

//中間

g.setColor(new Color(255, 0, 0));

g.fillOval(x+10, y+155, 45, 45);

//(下)左中右

g.setColor(Color.BLUE);

g.fillOval(x-45, y+195, 50, 30);

g.setColor(Color.yellow);

g.fillOval(x+20, y+220, 30, 50);

g.setColor(Color.BLUE);

g.fillOval(x+70, y+195, 50, 30);

//畫直線(上)

g.setColor(Color.BLACK);

g.drawLine(x-10, y+82, x+20, y+158);

g.setColor(Color.BLACK);

g.drawLine(x+80, y+82, x+43, y+158);

//畫直線(中間)

g.setColor(Color.BLACK);

g.drawLine(x-65, y+180, x+10, y+180);

g.setColor(Color.BLACK);

g.drawLine(x+133, y+180, x+55, y+180);

//畫直線(下)

g.setColor(Color.BLACK);

g.drawLine(x-10, y+298, x+20, y+198);

g.setColor(Color.BLACK);

g.drawLine(x+80, y+298, x+43, y+198);

}

@Override

public void keyTyped(KeyEvent e) {

// TODO Auto-generated method stub

}

@Override

public void keyPressed(KeyEvent e) {

// 按鍵盤事件

//測試上鍵

if(e.getKeyCode()==KeyEvent.VK_UP && fy1>0) {

if(fy1

f = 1;

}else {

f = 0;

}

y=y-10;

if(f==0) {

fy1-=20;

fy4-=20;

}if(f==1) {

fy2-=20;

fy3-=20;

}

System.out.println("測試上鍵");

}

//如果按的是下鍵

if(e.getKeyCode()==KeyEvent.VK_DOWN) {

System.out.println("123");

if(fy1

f = 1;

}else {

f = 0;

}

y+=10;

if(f == 1) {

fy1+=20;

fy4+=20;

}

if(f == 0) {

fy2+=20;

fy3+=20;

}

}

//如果按的是左鍵

if(e.getKeyCode()==KeyEvent.VK_LEFT &&fx1>99) {

if(fx1>fx2) {

f = 1;

}else {

f = 0;

}

x-=10;

if(f == 1) {

fx1-=20;

fx4-=20;

}

if(f == 0) {

fx2-=20;

fx3-=20;

}

}

//如果按的是右鍵

if(e.getKeyCode()==KeyEvent.VK_RIGHT) {

if(fx1

f = 1;

}else {

f = 0;

}

x+=10;

if(f == 1) {

fx1+=20;

fx4+=20;

}

if(f == 0) {

fx2+=20;

fx3+=20;

}

}

/*if(e.getKeyCode()==KeyEvent.VK_DOWN&& fy1>0) {

y=y+10;

if(fy1<=fy2) {

fy1+=20;

fy4+=20;

}else {

fy2+=20;

fy3+=20;

}

System.out.println("測試下鍵");

}

if(e.getKeyCode()==KeyEvent.VK_LEFT && fx1>0 ) {

x-=10;

if(fx1>=fx2) {

fx1-=20;

fx4-=20;

}else {

fx2-=20;

fx3-=20;

}

System.out.println("測試左鍵");

}

if(e.getKeyCode()==KeyEvent.VK_RIGHT && fx1>0) {

x+=10;

if(fx1<=fx2) {

fx1+=20;

fx4+=20;

}else {

fx2-=20;

fx3-=20;

}

System.out.println("測試右鍵");

}*/

//重新繪制paint方法(重新調(diào)用paint方法)

repaint();

}

@Override

public void keyReleased(KeyEvent e) {

// TODO Auto-generated method stub

}

}

運(yùn)行結(jié)果為:

總結(jié)

以上是生活随笔為你收集整理的java乌龟_java用swing画可以行走的乌龟的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。