Java開發可視化界面

想之前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可視化界面的使用,對於初學者來說,還是挺容易掌握的。因爲裏面的代碼也很簡單,基本都是基礎,所以多多練習還是有好處的。

好了,今天就到這裏了,有什麼不明白的地方可以跟我說說。大家一起交流學習,共同進步!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章