欢迎来到天天文库
浏览记录
ID:2190387
大小:35.00 KB
页数:2页
时间:2017-11-15
《加载图片并实现拖动放大缩小功能代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、importjava.awt.Color;importjava.awt.Image;importjava.awt.event.MouseAdapter;importjava.awt.event.MouseEvent;importjava.awt.event.MouseMotionListener;importjava.awt.event.MouseWheelEvent;importjava.awt.event.MouseWheelListener;importjavax.swing.BorderF
2、actory;importjavax.swing.Icon;importjavax.swing.ImageIcon;importjavax.swing.JFrame;importjavax.swing.JLabel;publicclassMoveImage{staticintstart_X,start_Y,end_X,end_Y;//privatestaticintnum=0;//privatestaticIconicon=null;staticImageIconicon=null;publics
3、taticvoidmain(String[]args)throwsException{//加载图片到JLabel上icon=newImageIcon("D:/test.JPG");JLabellabel=newJLabel(icon);//创建具有指定图像的JLabel实例。label.setSize(icon.getIconWidth(),icon.getIconHeight());//设置面板的宽度和高度label.setBorder(BorderFactory.createLineBorde
4、r(Color.red));//给图片加上红色外框//加载窗体,并把标签放置到窗体上JFrameframe=newJFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.getContentPane().setLayout(null);//这个要设置成null,取消布局管理器frame.getContentPane().add(label);frame.setSize(900,700);frame.setVisible
5、(true);//为标签创建鼠标监听器对象label.addMouseListener(newMouseAdapter(){publicvoidmousePressed(MouseEvente){start_X=e.getX();start_Y=e.getY();}});label.addMouseMotionListener(newMouseAdapter(){publicvoidmouseDragged(MouseEvente){JLabell=(JLabel)e.getSource();//
6、通过事件e对象获取事件源对象,即标签end_X=l.getX()+e.getX()-start_X;end_Y=l.getY()+e.getY()-start_Y;l.setLocation(end_X,end_Y);//设置标签的位置}});label.addMouseWheelListener(newMouseWheelListener(){@OverridepublicvoidmouseWheelMoved(MouseWheelEvente){intnum=e.getWheelRotatio
7、n();//正数表示向下旋转,负数表示向上旋转,绝对值表示转动的单位。JLabeljlabel=(JLabel)e.getSource();intwidth=jlabel.getWidth()-20*num;intheight=jlabel.getHeight()-20*num;jlabel.setIcon(newImageIcon(icon.getImage().getScaledInstance(width,height,Image.SCALE_FAST)));jlabel.setBounds
8、(end_X,end_Y,width,height);//jlabel.repaint();//刷新屏幕}});}}
此文档下载收益归作者所有