在Java怎么让图片水平移动?

Python016

在Java怎么让图片水平移动?,第1张

  java让图片水平移动,就是不断监听图片的位置,示例如下:

//给个实例

 import java.awt.Color 

import java.awt.event.MouseAdapter 

import java.awt.event.MouseEvent 

import java.awt.event.MouseMotionListener 

import java.net.URL

 import javax.swing.BorderFactory 

import javax.swing.Icon 

import javax.swing.ImageIcon 

import javax.swing.JFrame 

import javax.swing.JLabel

 public class ImageMove { 

 static int x,y 

 public static void main(String[] args) throws Exception{ 

 JFrame f = new JFrame() 

 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) 

 f.getContentPane().setLayout(null)//这个要设置成 null 

 //图标 

 Icon icon = new ImageIcon(new URL("https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/logo-zhidao.gif")) 

// Icon icon = new ImageIcon("c:/logo-zhidao.gif")//本地图片文件

 JLabel l = new JLabel(icon)

 l.setSize(icon.getIconWidth(),icon.getIconHeight()) l.setBorder(BorderFactory.createLineBorder(Color.red)) 

 f.getContentPane().add(l) f.setVisible(true) 

 l.addMouseListener(

new MouseAdapter(){

 public void mousePressed(MouseEvent e){ x=e.getX()y=e.getY() } })

 l.addMouseMotionListener(new MouseMotionListener(){ public void mouseDragged(MouseEvent e) { JLabel l = (JLabel)e.getSource()

 l.setLocation(l.getX()+e.getX()-x,l.getY()+e.getY()-y)

 }

 public void mouseMoved(MouseEvent e) {} }) } }

这个只是实现了移动,你参考以下吧 !

public class MoveImage {

static int x,y

private static int num=0

private static Icon icon=null

public static void main(String[] args) throws Exception{

JFrame f = new JFrame()

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

f.getContentPane().setLayout(null)//这个要设置成 null

//图片

icon = new ImageIcon("d:/test.gif")//d:/test.gif本地一张图片

JLabel l = new JLabel(icon)//创建具有指定图像的 JLabel 实例。

l.setSize(icon.getIconWidth(),icon.getIconHeight())//设置面板的宽度和高度

l.setBorder(BorderFactory.createLineBorder(Color.red))//给图片加上红色外框

f.getContentPane().add(l)

f.setSize(900,700)

f.setVisible(true)

l.addMouseListener(new MouseAdapter(){

public void mousePressed(MouseEvent e){

x=e.getX()

y=e.getY()

}

})

l.addMouseMotionListener(new MouseMotionListener(){

public void mouseDragged(MouseEvent e) {

JLabel l = (JLabel)e.getSource()

l.setLocation(l.getX()+e.getX()-x,l.getY()+e.getY()-y)

}

public void mouseMoved(MouseEvent e) {}

})

}