想之前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可视化界面的使用,对于初学者来说,还是挺容易掌握的。因为里面的代码也很简单,基本都是基础,所以多多练习还是有好处的。
好了,今天就到这里了,有什么不明白的地方可以跟我说说。大家一起交流学习,共同进步!