java滚轮事件代码 java滚动条事件

在java Applet里如何实现鼠标滚轮放大缩小图片?

创建鼠标滚轮监听事件MouseWheelListener,MouseWheelEvent e,

成都做网站、网站建设、外贸营销网站建设的开发,更需要了解用户,从用户角度来建设网站,获得较好的用户体验。成都创新互联公司多年互联网经验,见的多,沟通容易、能帮助客户提出的运营建议。作为成都一家网络公司,打造的就是网站建设产品直销的概念。选择成都创新互联公司,不只是建站,我们把建站作为产品,不断的更新、完善,让每位来访用户感受到浩方产品的价值服务。

int num=e.getWheelRotation(); 这个用来得到滚轮转动的方向与单位数,正数表示向下旋转,负数表示向上旋转,绝对值表示转动的单位。

然后你再改变图片的大小和位置,然后 refresh();

建议用JLabel来显示图片,然后在鼠标的滚轮事件中改变JLabel的大小和位置就OK了,具体的自己去实现。

看来得给你个例子啊!关键点1:按比例缩放图片;2:this.repaint();之前写错了不好意思啊

public class Anniu extends JFrame implements MouseWheelListener {

private static final long serialVersionUID = 1L;

JLabel jl = null;

ImageIcon image = new ImageIcon("F://12.jpg");

public Anniu() {

}

public void init() {

setLayout(null);

jl = new JLabel(image);

setSize(800, 600);

jl.setBounds(300, 200, 200, 200);

add(jl);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.addMouseWheelListener(this);

setVisible(true);

}

@Override

public void mouseWheelMoved(MouseWheelEvent e) {

// TODO Auto-generated method stub

int num = e.getWheelRotation();

int x = (this.getWidth() - jl.getWidth()) / 2;

int y = (this.getHeight() - jl.getHeight()) / 2;

int width=jl.getWidth()+ 2 * num;

int height=jl.getHeight()+ 2 * num;

jl.setIcon(new ImageIcon( image.getImage().getScaledInstance(width, height, Image.SCALE_SMOOTH))); //重点1:按所给的大小来设置图片,不管图片有多大,总是全图显示,可能导致失真!你可以加一个大小限制,超过图片大小了则不再放大。

jl.setBounds(x + num, y + num, width, height);

this.repaint(); //刷新屏幕

}

java中MouseEvent事件例子

public class MouseClickEvent extends JFrame{

public MouseClickEvent() {

Container container = getContentPane();

container.addMouseListener(new MouseListener() {

@Override

public void mouseReleased(MouseEvent arg0) {

int buttonFlag = arg0.getButton();

switch (buttonFlag) {

case MouseEvent.BUTTON1:

System.out.println("释放的是鼠标左键!\n");

break;

case MouseEvent.BUTTON2:

System.out.println("释放的是鼠标滚轮!\n");

break;

case MouseEvent.BUTTON3:

System.out.println("释放的是鼠标右键!\n");

break;

}   

}

@Override

public void mousePressed(MouseEvent arg0) {

int buttonFlag = arg0.getButton();

switch (buttonFlag) {

case MouseEvent.BUTTON1:

System.out.println("按下的是鼠标左键!\n");

break;

case MouseEvent.BUTTON2:

System.out.println("按下的是鼠标滚轮!\n");

break;

case MouseEvent.BUTTON3:

System.out.println("按下的是鼠标右键!\n");

break;

}

}

@Override

public void mouseExited(MouseEvent arg0) {

System.out.println("光标移出应用程序窗口了!\n");   

}

@Override

public void mouseEntered(MouseEvent arg0) {

System.out.println("光标进入应用程序窗口了!\n"); 

}

@Override

public void mouseClicked(MouseEvent arg0) {

int buttonFlag = arg0.getButton();

switch (buttonFlag) {

case MouseEvent.BUTTON1:

System.out.println("点击的是鼠标左键!\n");

break;

case MouseEvent.BUTTON2:

System.out.println("点击的是鼠标滚轮!\n");

break;

case MouseEvent.BUTTON3:

System.out.println("点击的是鼠标右键!\n");

break;

}

int clickCount = arg0.getClickCount();

System.out.println("点击次数为"+clickCount+"\n");

}

});

}

public static void main(String[] args) {

MouseClickEvent testFrame = new MouseClickEvent();

testFrame.setTitle("鼠标点击事件测试程序!");

testFrame.setVisible(true);

testFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

testFrame.setBounds(0, 0, 500, 400);

}

}

java中怎么设置鼠标滑轮来滚动java滚动条滚动的速度

可以采用以下代码实现来滚动java滚动条滚动的速度

[java] view plaincopy

span style="font-family: Arial, Helvetica, sans-serif;"//虽然比较短,但还是分享下吧。。。。就当是个随笔吧~/span  

[java] view plaincopy

//设置滚动面板的滚动速度  

[java] view plaincopy

JScrollPane.getVerticalScrollBar().setUnitIncrement(10);  

[java] view plaincopy

[java] view plaincopy

//鼠标滑轮滚动事件  

this.btn.addMouseWheelListener(new MouseWheelListener() {  

@Override  

public void mouseWheelMoved(MouseWheelEvent e) {  

String str = (e.getWheelRotation() 0)?"上" : "下";  

System.out.println(str);  

}  

});

java 当鼠标移出窗口时鼠标滚轮依然可以控制JScollPane滚动条

回答是肯定可以的:

  鼠标在窗口外面,滚动鼠标滚轮,其实还是可以控制JScollPane的滚动

思路 :顶层的JFrame窗口能够获得焦点,也就是窗口在前端显示状态。

那么当滚轮滚动的时候,就会触发鼠标滚动事件。

在事件响应里面。重新设置JSCollPane的(JSCollBar)滚动条的值就可以实现了。

代码参考:

附件下载

建议: 一般而言没有必要在窗口外面控制JSCollPane滚动。。。

效果如图

Java 程序实现鼠标点击 键盘等事件

Java提供了两个事件侦听接口用来管理鼠标移动和键盘动作,分别是MouseMotionListener和KeyListener,可以用它们来捕捉鼠标和键盘。

1)类KeyMonitor,是一个JPanel的扩展类,用来显示捕捉到的按键信息;

2)类MouseMonitor,也是一个JPanel的扩展类,用来显示到的鼠标移动信息;

3)入口类Main,用匿名类的方式实现了真正的监听接口;

PS:Java提供的这两个侦听器都有很大的限制,鼠标监听只有在鼠标位于Java程序所在的窗口范围之内才能有效,而键盘监听限制更严格,仅当Java程序成为当前的活动窗口时才有效。单纯用Java来实现全屏幕、所有程序的鼠标和键盘活动是不可行的。


新闻标题:java滚轮事件代码 java滚动条事件
文章出自:http://myzitong.com/article/hhdgjo.html