网站建设资讯

NEWS

网站建设资讯

模型动作java代码 java模型训练

java调用tensorflow训练好的模型

Java里调用的还真不多,首先你的libtensorflow要导进去(我不用发布,所以我只在IDE里导入了),然后,将tensorflow_jni.dll放到你的项目中,必须是你要执行类的那个项目

平谷网站建设公司创新互联,平谷网站设计制作,有大型网站制作公司丰富经验。已为平谷近1000家提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的平谷做网站的公司定做!

求java做动画代码

import java.awt.Canvas;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.EventQueue;

import java.awt.Frame;

import java.awt.Graphics;

import java.awt.Graphics2D;

import java.awt.Image;

import java.awt.RenderingHints;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.IOException;

import javax.imageio.ImageIO;

public class TestImage extends Frame

{

private static final long serialVersionUID = 1L;

private static boolean PRESSED = false;

private static int pointX = 0;

private static int pointy = 200;

private static int RIGHT_GO = 0;

private static int LEFT_GO = 0;

private static int DIR = 0;

private static int ANGLE = 0;

private static int W = 50;

private static int H = 60;

private _Canvas canvas = null;

public TestImage ()

{

add (canvas = new _Canvas ());

setIgnoreRepaint (true);

requestFocus ();

}

public class _Canvas extends Canvas implements Runnable

{

private static final long serialVersionUID = 1L;

private BufferedImage bi = null;

private Image bufferedImage = null;

private Thread thread = null;

private long sleepTime = 10;

public _Canvas ()

{

try

{

bi = ImageIO.read (new File ("go.png"));

}

catch (IOException e)

{}

setBackground (Color.BLACK);

requestFocus ();

addKeyListener (new KeyListener ()

{

@Override

public void keyTyped ( KeyEvent e )

{}

@Override

public void keyReleased ( KeyEvent e )

{

RIGHT_GO = 0;

PRESSED = false;

}

@Override

public void keyPressed ( KeyEvent e )

{

// 38 40 37 39上下左右

DIR = e.getKeyCode ();

PRESSED = true;

}

});

}

@Override

public void paint ( Graphics g )

{

Graphics2D g2d = (Graphics2D) g;

g2d.setRenderingHint (RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);

g2d.drawImage (rotateImage (bi.getSubimage (RIGHT_GO, LEFT_GO, W, H), ANGLE, true), pointX, pointy, W, H,

this);

g2d.dispose ();

}

@Override

public void update ( Graphics g )

{

if (null == bufferedImage)

{

bufferedImage = createImage (getWidth (), getHeight ());

}

Graphics bufferedG = bufferedImage.getGraphics ();

bufferedG.clearRect (0, 0, getWidth (), getHeight ());

paint (bufferedG);

bufferedG.dispose ();

g.drawImage (bufferedImage, 0, 0, this);

g.dispose ();

}

public void start ()

{

thread = new Thread (this);

thread.setName ("TestImage");

thread.setPriority (Thread.MIN_PRIORITY);

thread.start ();

}

public synchronized void stop ()

{

thread = null;

notify ();

}

@Override

public void run ()

{

Thread me = Thread.currentThread ();

while (thread == me  !isShowing () || getSize ().width == 0)

{

try

{

Thread.sleep (555);

}

catch (InterruptedException e)

{

return;

}

}

while (thread == me  isShowing ())

{

if (PRESSED)

{

try

{

if (DIR == 39)

{

RIGHT_GO = RIGHT_GO + 50;

LEFT_GO = 0;

pointX = pointX + 1;

if (pointX  420)

{

ANGLE = 90;

pointX--;

pointy--;

W = 60;

H = 50;

}

if (RIGHT_GO  50)

{

RIGHT_GO = 0;

}

}

else if (DIR == 37)

{

pointX = pointX - 1;

RIGHT_GO = RIGHT_GO + 50;

LEFT_GO = 60;

if (pointX  0)

{

ANGLE = -90;

pointX++;

pointy--;

W = 60;

H = 50;

}

if (RIGHT_GO  50)

{

RIGHT_GO = 0;

}

}

else if (DIR == 38)

{

W = 50;

H = 60;

pointy = 150;

ANGLE = 0;

RIGHT_GO = 100;

}

else if (DIR == 40)

{

W = 50;

H = 60;

ANGLE = 0;

pointy = 200;

RIGHT_GO = 0;

}

Thread.sleep (sleepTime);

repaint ();

}

catch (InterruptedException e)

{

break;

}

}

else

{

RIGHT_GO = RIGHT_GO + 50;

LEFT_GO = 0;

pointX = pointX + 1;

if (RIGHT_GO  50)

{

RIGHT_GO = 0;

}

if (pointX  500)

{

pointX = 0;

}

try

{

Thread.sleep (sleepTime);

repaint ();

}

catch (InterruptedException e)

{

break;

}

}

}

thread = null;

}

}

/**

 * 旋转图像为指定角度

 * 

 * @param degree

 * @return

 */

public static BufferedImage rotateImage ( final BufferedImage image, final int angdeg, final boolean d )

{

int w = image.getWidth ();

int h = image.getHeight ();

int type = image.getColorModel ().getTransparency ();

BufferedImage img;

Graphics2D graphics2d;

( graphics2d = ( img = new BufferedImage (w, h, type) ).createGraphics () ).setRenderingHint (

RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);

graphics2d.rotate (d ? -Math.toRadians (angdeg) : Math.toRadians (angdeg), w / 2, h / 2);

graphics2d.drawImage (image, 0, 0, null);

graphics2d.dispose ();

return img;

}

public static void main ( String[] args )

{

EventQueue.invokeLater (new Runnable ()

{

@Override

public void run ()

{

final TestImage ti = new TestImage ();

ti.setSize (new Dimension (500, 300));

ti.setLocationRelativeTo (null);

ti.addWindowListener (new WindowAdapter ()

{

@Override

public void windowClosing ( WindowEvent e )

{

System.exit (0);

}

@Override

public void windowDeiconified ( WindowEvent e )

{

ti.canvas.start ();

}

@Override

public void windowIconified ( WindowEvent e )

{

ti.canvas.stop ();

}

});

ti.setResizable (false);

ti.canvas.start ();

ti.setVisible (true);

}

});

}

}

java线程模型中的代码和数据各是指什么?

就是代码和数据啊

用程序控制线程 程序就是代码

重点放在CPU上是 因为 CPU执行线程 与堆内存密切 线程等待和异步同步执行都是需要掌握的 加上线程锁的问题 CPU处理机制就难以理解了

java中的“委托事件模型”做一下介绍

什么是委托事件模型

在教材上的图中,我们可以发现,用户通过键盘、鼠标等进行操纵的行为,最终都传递给了JVM,那么JVM在接收到这些事件以后该如何处理呢?我们把这种处理事件的方案,称之为事件模型。

Java中采用的是委托事件模型:jdk1.1以后,引入的一种新的事件代理模块,通过它,事件源发出的事件被委托给(注册了的)事件监听器(Listener),并由它负责执行相应的响应方法。比如:病人生病请医生。

基于这种模型,我们使用两种类型的对象来执行事件机制,这两种对象是:

事件源对象

事件的侦听对象

委托事件模型的实现步骤

在java语言中委托事件模型的处理步骤如下:

1.建立事件源对象。如各种GUI的组件。

2.为事件源对象选择合适的事件监听器。比如事件源对象如果是“按钮”,那么我们能想到的发生在按钮身上最多的,应该是单击事件了。这时我就应该选择鼠标单击事件的监听器。

3.为监听器添加适当的处理程序。比如当按钮单击事件发生后,希望完成的代码。

4.为监听器与事件源建立联系。

窗体自身实现事件监听

我们在刚才的例子中使用了两个对象,一个是事件源对象,即JFrame窗体,另外还创建了一个监听器对象。事实上在实际开发过程中,我们往往,将这两个类写在一起,就是说一个窗体类自己监听自己的事件

其他事件监听器接口的使用

Java支持的事件监听器接口非常多,常见的主要有:

ActionListener 行为监听接口

AdjustmentListener 调整监听接口

ItemListener 选项监听接口

TextListener 文本监听接口

ComponentListener 组件监听接口

KeyListener 键盘监听接口

MouseListener 鼠标点击监听接口

MouseMotionListener 鼠标移动监听接口

FocusListener 光标聚焦监听接口

WindowListener 窗体监听接口

ContainerListener 容器监听接口

KeyListener接口与KeyAdapter类

KeyListener接口:监听键盘事件。

该接口中定义了如下三个方法:

keyPressed() 键盘按下时触发

keyReleased() 键盘释放时触发

keyTyped() 键盘单击一次时触发

KeyAdpeter适配器:即使我们只想使用上述三个方法中的一种,那么我们也必须在KeyListener接口的实现类中对这三种方法进行重写,这种方式显然增加了很多无效代码,我们可以使用适配器模式解决。

匿名内部类

WindowListener接口与WindowAdapter类

WindowListener接口:监听窗体的行为。

windowListener接口常用方法:

windowActivated(WindowEvent e) 将 Window 设置为活动 Window 时 调用。

windowClosed(WindowEvent e) 因对窗口调用 dispose 而将其关闭 时调用。

windowClosing(WindowEvent e) 用户试图从窗口的系统菜单中关闭窗 口时调用。

windowDeactivated(WindowEvent e) 当 Window 不再是活动 Window 时调用。

windowDeiconified(WindowEvent e) 窗口从最小化状态变为正常状 态时调用。

windowIconified(WindowEvent e) 窗口从正常状态变为最小化状态 时调用。

windowOpened(WindowEvent e) 窗口首次变为可见时调用。

MouseListener接口与MouseAdapter类

MouseListener接口:监听鼠标点击的行为。

MouseListener接口常用方法:

mouseClicked(MouseEvent e) 鼠标按键在组件上单击(按下并释放)时调用。

mouseEntered(MouseEvent e) 鼠标进入到组件上时调用。

mouseExited(MouseEvent e) 鼠标离开组件时调用。

mousePressed(MouseEvent e) 鼠标按键在组件上按下时调用。

mouseReleased(MouseEvent e) 鼠标按钮在组件上释放时调用。

MouseMotionListener接口与MouseMotionAdapter类

MouseMotionListener接口:监听鼠标移动的行为。

MouseMotionListener接口常用方法:

mouseDragged(MouseEvent e) 鼠标按键在组件上按下并拖动时调用。

mouseMoved(MouseEvent e) 鼠标按键在组件上移动(无按键按下)时调用


当前标题:模型动作java代码 java模型训练
分享路径:http://njwzjz.com/article/dojsscp.html