Mat*_*ark 5 java swing multi-touch
我的印象是触摸屏模拟鼠标事件,但我如何处理多个触摸事件?
我曾尝试加入JPanel了MouseMotionListener和输出值到控制台.然而,我只是在屏幕上获得第一次触摸的值.
然后我尝试将屏幕向下JPanel分开MouseMotionListener,两边各有一个,每边都有一个单独的,每个都输出到控制台.
在这种配置中,我仍然只能看到屏幕上第一根手指的值.
这是我到目前为止:
JPanel jPaneL = new JPanel();
jPaneL.setName("Left");
jPaneL.addMouseMotionListener(mouseMotionL);
jPaneL.setBounds(0, 0, 960, 1280);
jPaneL.setBackground(Color.BLACK);
JPanel jPaneR = new JPanel();
jPaneR.setName("Right");
jPaneR.addMouseMotionListener(mouseMotionR);
jPaneR.setBounds(960, 0, 960, 1080);
jPaneR.setBackground(Color.RED);
jFrame.add(jPaneL);
jFrame.add(jPaneR);
Run Code Online (Sandbox Code Playgroud)
而我的MouseMotionListener,L并且R是完全一样的.
private static MouseMotionListener mouseMotionX = new MouseMotionListener() {
@Override
public void mouseDragged(MouseEvent e) {
String s = ((JPanel) e.getSource()).getName();
System.out.println(s);
}
@Override
public void mouseMoved(MouseEvent e) {
String s = ((JPanel) e.getSource()).getName();
System.out.println(s);
}
};
Run Code Online (Sandbox Code Playgroud)
我找到了支持多点触控的库,但我希望在不使用第三方库的情况下执行此操作.我怎样才能使用本机鼠标监听器来做这件事?
首先我想说,我真的建议对这样的应用程序使用 JavaFX。您还可以使用 JFXPanel将 JavaFX 项目集成到现有的 swing 应用程序中。
不过我听说过MT4j,它是 Java 应用程序中的多点触控框架,也支持 Swing。我还没有使用过它。所以我无法告诉你它有多好用。
| 归档时间: |
|
| 查看次数: |
2205 次 |
| 最近记录: |