专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java可视化界面的实现

Java可视化界面的实现

更新时间:2022-09-14 11:09:11 来源:动力节点 浏览3471次

Java的应用领域很多,人们可以利用java做网站,也可以用来做微信小程序,还可以做可视化界面,那java如何做可视化界面?下面来我们就用实例来给讲解一下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可视化界面的使用,对于初学者来说,还是挺容易掌握的。因为里面的代码也很简单,基本都是基础,所以多多练习还是有好处的。感兴趣的小伙伴也可以了解一下java界面开发工具,必备的几款,相信大家在以后的学习中会用到。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>