想之前Java有過很深的接觸,但後來因爲學了Python,因而好久沒有學習Java這麼語言,但今又有機會再次接觸Java,所以一時令我想起了當初所學之Java,所以今天我特意給大家分享一個Java可視化開發的代碼,這是一些小球從空中落下的動畫,有助於Java初學者學習Java可視化界面的幫助。由於這次我在代碼中做了註釋,所以我就解釋部分代碼就行,這個代碼是我看了一本書而得的靈感。所以就寫了一下,這裏我分成了兩個Java文件,一個是Testjiemian.java,一個是xiaoqiu.java。下面是部分代碼註釋,後面有完整的代碼,只需要複製就可以調試運行,不過最好修改一下路徑就可以了。
先介紹Testjiemian.java中的,因爲這個是一個自動的,所以我們需要創建一個線程;
Thread t = new Thread(this);
t.start();
我們需要一個重載方法,然後讓線程無限循環,需要進行異常處理
public void run() {
// TODO Auto-generated method stub
//重載run方法
while(true){
//線程無線循環
try{
Thread.sleep(30);
}catch(InterruptedException e){}
之後需要設置小球的縱座標的變化,但是之前需要有初始位置,這裏小球初始位置就不寫了,後面完整代碼中有。同時使用repaint()函數在每次縱座標變化之後重繪之前的圖像。
//更改縱座標
yp+=3;
y+=5;
if(yp>430)
yp=-80;
repaint();
if(y>410)
y=-80;
repaint();
設置小球的顏色和大小。
g.clearRect(0,yp,this.getWidth(),this.getHeight());
g.setColor(Color.green);//設置小球的顏色
g.fillOval(60, yp, 50, 50);
xiaoqiu.java文件中,設置界面的大小以及顯示界面。
this.setTitle("空中小球");
Container c = this.getContentPane();//獲得面板
c.add(new Testjianmian());
//關閉窗口時關閉程序
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
this.setSize(350, 480);
//設置窗口居中,但是必須放在size之後
this.setLocationRelativeTo(null);
this.setVisible(true);
下面就是附上完整代碼,首先是Testjiemian.java文件的:
package com.test;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.JPanel;
public class Testjianmian extends JPanel implements Runnable{
//繪製圖形線程類
//小球左上角的縱座標
public int yp = -80;
public int y =-80;
public int xp=-80;
//定義兩個私有成員
private Image iBf;
private Graphics gBf;
public Testjianmian(){
//創建線程
Thread t = new Thread(this);
t.start();
}
@Override
public void run() {
// TODO Auto-generated method stub
//重載run方法
while(true){
//線程無線循環
try{
Thread.sleep(30);
}catch(InterruptedException e){
}
//更改縱座標
yp+=3;
y+=5;
if(yp>430)
yp=-80;
repaint();//重繪
if(y>410)
y=-80;
repaint();
xp+=3;
if(xp>300)
xp=-80;
repaint();
}
}
public void paint(Graphics g){
//重載繪圖方法
super.paint(g);
//清洗屏幕
g.clearRect(0,yp,this.getWidth(),this.getHeight());
g.setColor(Color.green);//設置小球的顏色
g.fillOval(60, yp, 50, 50);//座標及小球的大小
g.fillOval(220, xp, 50, 50);
g.setColor(Color.yellow);
g.fillOval(135, y, 60, 60);
}
}
下面是xiaoqiu.java文件的:
package com.test;
import java.awt.Container;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
public class xiaoqiu {
public static class MyWindow extends JFrame{
public MyWindow(){
this.setTitle("空中小球");
Container c = this.getContentPane();//獲得面板
c.add(new Testjianmian());//添加到面板中
//關閉窗口時關閉程序
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
this.setSize(350, 480);//窗口大小
//設置窗口居中,但是必須放在size之後
this.setLocationRelativeTo(null);
this.setVisible(true);//顯示窗口
}
public static void main(String[] args) {
MyWindow DB = new MyWindow();
DB.addWindowListener(new WindowAdapter() {
public void windowclosing(WindowEvent e){
System.exit(0);
}
});
}
}
}
結果展示:
對於這個程序,主要是java可視化界面的使用,對於初學者來說,還是挺容易掌握的。因爲裏面的代碼也很簡單,基本都是基礎,所以多多練習還是有好處的。
好了,今天就到這裏了,有什麼不明白的地方可以跟我說說。大家一起交流學習,共同進步!