- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
与许多现代鼠标和触控板一样,我的笔记本电脑支持垂直和水平滚动。一旦你习惯了,它就是一个令人上瘾的功能。我只是希望我的 Java 应用程序通过触控板/鼠标滚轮支持水平滚动,但在我搜索的所有地方似乎这在 Java 中是不可能的。
我真的希望有人告诉我我做错了,这个功能已经被要求行为:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6440198
无法完成这个简单的事情实际上是我正在开发的应用程序的一个交易破坏者。事实上,对于我能想到的任何应用程序!我在 Java 后端投入了一些时间,所以我真的很想为这个看似简单的事情找到一个解决方案。
问题是我可以做些什么来实现这种行为? Java 是否向我公开了原始操作系统级事件,然后我需要从头开始编写吗?
import java.awt.*;
public class ScrollExample extends Canvas {
public void paint(Graphics g) {
g.setColor(Color.green);
g.fillOval(0,0,400, 400);
}
public static void main(String[] args) {
ScrollExample b = new ScrollExample();
Frame f = new Frame ("Scroll Example");
ScrollPane scroller = new ScrollPane (ScrollPane.SCROLLBARS_ALWAYS);
scroller.add(b,"Center");
f.setPreferredSize(new Dimension(500,500));
f.add ("Center",scroller);
f.pack();
f.show();
}
}
Swing 示例适用于水平和垂直滚动
import java.awt.*;
import javax.swing.*;
public class ScrollExample extends JPanel {
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.green);
g.fillOval(0,0,400, 400);
}
public static void main(String[] args) {
JFrame f = new JFrame ("Scroll Example");
ScrollExample p = new ScrollExample();
p.setPreferredSize(new Dimension(1000, 1000));
JScrollPane scroller = new JScrollPane(p,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scroller.getHorizontalScrollBar().setUnitIncrement(10);
scroller.getVerticalScrollBar().setUnitIncrement(10);
f.setPreferredSize(new Dimension(500,500));
f.add (scroller,BorderLayout.CENTER);
f.pack();
f.show();
}
}
最佳答案
这在 Swing 中是默认支持的,尽管当两个滚动条都可见时,垂直滚动优先于水平滚动。
我希望在 Swing 而不是 AWT 中完成新的开发。
编辑:
您应该能够使用 Mouse Wheel Controller自定义滚动速度。我从未在水平滚动上尝试过它,如果它有效,请告诉我。
关于java - 如何在 Java AWT ScrollPane 中使用我的触控板进行水平鼠标滚轮滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2843314/
如何在 java 中检测笔记本电脑触控板上的 2 指滚动?我一直在谷歌和这里搜索,但在使用触控板滚动时找不到任何内容,更不用说如何收听它了。任何帮助将不胜感激。谢谢。 最佳答案 我做了这个示例程序 i
我的一个 Silverlight 应用程序让一些用户在 Apple Mac 上使用它。他们提示鼠标滚轮和触控板不起作用。 根据我所做的研究,Mac 上的浏览器托管应用程序似乎不支持此功能。 Sil
我是一名优秀的程序员,十分优秀!