去掉TextField后的程序,這個程序是要用到repaint()的,具體請參考程序中的注釋位置:

成都創(chuàng)新互聯(lián)主營貴定網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,app開發(fā)定制,貴定h5成都小程序開發(fā)搭建,貴定網(wǎng)站營銷推廣歡迎貴定等地區(qū)企業(yè)咨詢
import java.awt.*;
import java.awt.event.*;
class mCar extends Frame{
Color redColor;
int xl=80,yl=80,speed=10,step=5;/*********注意這里***********/
public mCar(){
addKeyListener(new KeyAdapter(){ /*********注意這里***********/
public void keyPressed(KeyEvent e){
if(e.getKeyCode()== KeyEvent.VK_UP){
System.out.println("\n Go Up");
yl-=speed;/*********注意這里***********/
}
else if(e.getKeyCode()== KeyEvent.VK_DOWN){
System.out.println("\n Go Down");
yl+=speed;/*********注意這里***********/
}
else if(e.getKeyCode()== KeyEvent.VK_LEFT){
System.out.println("\n Go Left");
xl-=speed;/*********注意這里***********/
}
else if(e.getKeyCode()== KeyEvent.VK_RIGHT){
System.out.println("\n Go Right");
xl+=speed;/*********注意這里***********/
}
else if(e.getKeyCode()== KeyEvent.VK_F1){
speed+=step;/*********注意這里***********/
System.out.println("\n Speed Up");
}
else if(e.getKeyCode()== KeyEvent.VK_F2){
System.out.println("\n Speed Down");
speed-=step;/*********注意這里***********/
}
else
System.out.println(e.getKeyChar());
repaint();/*********注意這里***********/
}
}
);
setSize(400,300);
setVisible(true);
setLocation(400,200);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
dispose();
System.exit(0);
}
}
);
}
public void paint(Graphics g){
g.setColor(Color.GREEN);
g.fillRect(xl, yl, 40, 40);/*********注意這里***********/
}
}
public class miniCar {
public static void main(String[] args){
new mCar();
}
}
用原始圖旋轉(zhuǎn)各個角度,而不用旋轉(zhuǎn)后的已損圖再轉(zhuǎn)..
可以避免。。通常就夠了。
實在效果不好可以放大八倍再轉(zhuǎn)再縮小....
lz 你好
我做了一個比較簡單的雛形
綠色正方形水平隨機運動
藍色正方形垂直隨機運動
import?java.awt.*;
import?javax.swing.*;
import?java.awt.event.*;
import?java.math.*;
public?class?MoveRect?extends?Frame?implements?Runnable{
private?Rectangle?hRect,?vRect;
private?Image?buffer;
private?Object?o?=?new?Object();
public?MoveRect(){
super("MoveRect");
hRect?=?new?Rectangle(50,0,50,50);//水平隨機運動的正方形
vRect?=?new?Rectangle(0,50,50,50);//垂直隨機運動的正方形
setUndecorated(true);??
setLocation(500,200);
setSize(400,400);
setVisible(true);
addWindowListener(new?WindowAdapter(){
public?void?windowClosing(WindowEvent?e){
System.exit(0);
}
});
}
//啟動循環(huán)繪制(使正方形一直循環(huán)的運動)
public?void?circleDraw(){
}
//繪制正方形的狀態(tài)
public?void?drawRect(Graphics?g,Rectangle?r){
g.drawRect(r.x,?r.y,?r.width,?r.height);
}
//雙緩沖機制(主要解決閃屏)
public?void?update(Graphics?g){
buffer?=?createImage(getSize().width,?getSize().height);
if(buffer?!=?null){??????????
Graphics?g2?=?buffer.getGraphics();
paint(g2);
g2.dispose();??????
g.drawImage(buffer,?0,?0,?this);????????
}
else{
paint(g);
}
}
public?void?paint(Graphics?g){??????
g.setColor(Color.GREEN);
drawRect(g,hRect);
g.setColor(Color.BLUE);
drawRect(g,vRect);
hRect.x?=?(int)(Math.random()*351);
vRect.y?=?(int)(Math.random()*351);??
}
public?void?run(){
while(true){
stop();
rePaint();
}??????????????
}
//同步方法rePaint
public?synchronized?void?rePaint(){
repaint();
}
//同步方法stop
public?synchronized?void?stop(){
if(hRect.x?=?50??vRect.y?=?50){
try?{
Thread.sleep(500);
}
catch?(Exception?ex)?{
ex.printStackTrace();
}
}??????
}
public?static?void?main(String[]?args){????
new?Thread(new?MoveRect()).start();
}
}
本文題目:java中物體自轉(zhuǎn)的代碼 java自動轉(zhuǎn)換類型的機制
當前鏈接:http://chinadenli.net/article12/dojehdc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、搜索引擎優(yōu)化、服務器托管、Google、網(wǎng)頁設計公司、網(wǎng)站設計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)