高分求代码,熟悉图形化界面的高手请!!分不够再加!! 要求用:Graphics和Image画图面板要求有背景图,另外还有一张位于面板背景图上可移动的小图获取图片位置时用this.getClass().getResource("")来获得!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 改一下!!只要获得图片位置时是用this.getClass().getResource("")实现的就行!! import java.awt.BorderLayout;import java.awt.Graphics;import java.awt.Point;import java.awt.event.MouseEvent;import java.net.URL;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.SwingUtilities;import javax.swing.event.MouseInputAdapter;/** * @author closewbq * 拖动图片 */public class DragImage extends JFrame { private JLabel imageLabel; private JPanel jpanel; public DragImage() { URL path = DragImage.class.getResource("xxxx.jpg"); ImageIcon image = new ImageIcon(path); jpanel = new PanelImage(image); imageLabel = new JLabel(image); jpanel.setSize(900, 600); jpanel.add(imageLabel); setLayout(null); this.getContentPane().add(jpanel); DragListener listener = new DragListener(); imageLabel.addMouseListener(listener); imageLabel.addMouseMotionListener(listener); setTitle("图片拖动"); setSize(900, 600); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } class DragListener extends MouseInputAdapter { Point point = new Point(0, 0); public void mouseDragged(MouseEvent e) { Point newPoint = SwingUtilities.convertPoint(imageLabel, e .getPoint(), imageLabel.getParent()); //新位置 imageLabel.setLocation(imageLabel.getX() + (newPoint.x - point.x), imageLabel.getY() + (newPoint.y - point.y)); //更改坐标点 point = newPoint; } public void mousePressed(MouseEvent e) { point = SwingUtilities.convertPoint(imageLabel, e.getPoint(), imageLabel.getParent()); System.out.println(e.getPoint().x + " : " + e.getPoint().y); System.out.println(point.x + " : " + point.y); } } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { new DragImage(); } }); } class PanelImage extends JPanel { BorderLayout borderLayout = new BorderLayout(); private ImageIcon image = null; public PanelImage(ImageIcon image) { try { this.image = image; jbInit(); } catch (Exception exception) { exception.printStackTrace(); } } private void jbInit() throws Exception { this.setLayout(borderLayout); } protected void paintComponent(Graphics g) { setOpaque(true); super.paintComponent(g); g.drawImage(image.getImage(), 0, 0, null, null); } }} 3#的哥!!如何用Graphics和Image画图再和this.getClass().getResource("")联系一起的话可以不!! 回7#必要的容器还是要用的噻!!思路是用Graphics和Image画图再和this.getClass().getResource("") HttpURLConnection无法得到cookie 简单的一个JSP程序怎么在别人电脑(当服务器)发布 昨天答辩顺利通过了,攒人品,散分。 在java中如何实现对图形的拖曳? 高分,讨论如何用java实现稳定和高效的滑动窗口? java中怎么获得一个本地空闲的端口 服务器端检测客户端5秒内没发送数据则断开连接有人做过此试验吗 马上面试,怎么办?请指教! 关于Java数据库编程的问题! 出什么问题?(为什么可以编译,不能运行?) 学习j2se心得 mac苹果的JPopupMenu
只要获得图片位置时是用this.getClass().getResource("")实现的就行!!
import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseEvent;
import java.net.URL;import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.event.MouseInputAdapter;
/**
* @author closewbq
* 拖动图片
*/
public class DragImage extends JFrame {
private JLabel imageLabel;
private JPanel jpanel; public DragImage() {
URL path = DragImage.class.getResource("xxxx.jpg");
ImageIcon image = new ImageIcon(path);
jpanel = new PanelImage(image);
imageLabel = new JLabel(image);
jpanel.setSize(900, 600);
jpanel.add(imageLabel);
setLayout(null);
this.getContentPane().add(jpanel);
DragListener listener = new DragListener();
imageLabel.addMouseListener(listener);
imageLabel.addMouseMotionListener(listener);
setTitle("图片拖动");
setSize(900, 600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
} class DragListener extends MouseInputAdapter {
Point point = new Point(0, 0);
public void mouseDragged(MouseEvent e) {
Point newPoint = SwingUtilities.convertPoint(imageLabel, e
.getPoint(), imageLabel.getParent());
//新位置
imageLabel.setLocation(imageLabel.getX() + (newPoint.x - point.x),
imageLabel.getY() + (newPoint.y - point.y));
//更改坐标点
point = newPoint;
} public void mousePressed(MouseEvent e) {
point = SwingUtilities.convertPoint(imageLabel, e.getPoint(),
imageLabel.getParent());
System.out.println(e.getPoint().x + " : " + e.getPoint().y);
System.out.println(point.x + " : " + point.y);
}
} public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new DragImage();
}
}); } class PanelImage extends JPanel {
BorderLayout borderLayout = new BorderLayout();
private ImageIcon image = null; public PanelImage(ImageIcon image) {
try {
this.image = image;
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
} private void jbInit() throws Exception {
this.setLayout(borderLayout);
} protected void paintComponent(Graphics g) {
setOpaque(true);
super.paintComponent(g);
g.drawImage(image.getImage(), 0, 0, null, null); }
}
}
如何用Graphics和Image画图再和this.getClass().getResource("")联系一起的话可以不!!
必要的容器还是要用的噻!!
思路是用Graphics和Image画图再和this.getClass().getResource("")