如何使用java获取滚动按钮以放大和缩小对象
这里的初学者 我正在尝试使用java创建一个简单的应用程序,其中创建一个矩形,并可以使用键“w、a、s、d”移动该矩形。以及使用鼠标中的滚动按钮增加或减少矩形的大小。现在可以使用按键移动对象,但我不知道如何执行滚动功能。有人帮忙吗如何使用java获取滚动按钮以放大和缩小对象,java,scroll,event-listener,mouselistener,Java,Scroll,Event Listener,Mouselistener,这里的初学者 我正在尝试使用java创建一个简单的应用程序,其中创建一个矩形,并可以使用键“w、a、s、d”移动该矩形。以及使用鼠标中的滚动按钮增加或减少矩形的大小。现在可以使用按键移动对象,但我不知道如何执行滚动功能。有人帮忙吗 import java.awt.*; import java.awt.event.*; public class Animation extends Frame implements KeyListener, MouseWheelListener { int
import java.awt.*;
import java.awt.event.*;
public class Animation extends Frame implements KeyListener, MouseWheelListener {
int x, y, a, b;
char choice1;
Animation() {
setSize(500, 500);
setVisible(true);
x = 50;
y = 50;
a = 20;
b = 50;
addKeyListener(this);
addWindowListener(new WindowListener() {
@Override
public void windowOpened(WindowEvent e) {
}
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
@Override
public void windowClosed(WindowEvent e) {
}
@Override
public void windowIconified(WindowEvent e) {
}
@Override
public void windowDeiconified(WindowEvent e) {
}
@Override
public void windowActivated(WindowEvent e) {
}
@Override
public void windowDeactivated(WindowEvent e) {
}
});
}
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {
choice1 = e.getKeyChar();
if (choice1 == 'w') {
y = y - 1;
}
if (choice1 == 's') {
y = y + 1;
}
if (choice1 == 'a') {
x = x - 1;
}
if (choice1 == 'd') {
x = x + 1;
}
repaint();
}
@Override
public void mouseWheelMoved(MouseWheelEvent e) {
}
public void paint(Graphics g) {
g.drawRect(x, y, a, b);
g.setColor(Color.red);
g.fillRect(x, y, 20, 50);
}
public static void main(String[] args) {
Animation animation = new Animation();
}
}
具体来说,我想知道在mouseweelmoved()方法中应该写什么,以及如何使用它使矩形变大或变小
如果有人面临同样的问题,谢谢你 使用getPreciseHeelRotation()方法获取值。如果该值大于0,则滚动条正向您滚动,反之亦然。 我也在这里输入代码
double p = e.getPreciseWheelRotation();
if(p>0){
a=a+5;
b=b+5;
} else{
a=a-5;
b=b-5;
}
repaint();
我想这个问题可能会因为过于宽泛而结束,但对于一般指针,我会先看一看,看看它有什么属性,然后再看
System.out.print
-ing一些值,并观察在进行各种输入时会发生什么。从那里你可能可以推断出你需要做什么,或者至少到了一个你的问题范围更窄的点,这样你就更有可能在这里得到好的答案。非常感谢你!我正在搜索文档,但没有找到,现在它正在工作。再次感谢你在这里添加了一个答案,特别是如果你能把你的问题缩小到更具体一点的话,以防将来对其他人有所帮助。