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可视化界面的使用,对于初学者来说,还是挺容易掌握的。因为里面的代码也很简单,基本都是基础,所以多多练习还是有好处的。

好了,今天就到这里了,有什么不明白的地方可以跟我说说。大家一起交流学习,共同进步!

发布了27 篇原创文章 · 获赞 138 · 访问量 18万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 书香水墨 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览