首页 > 解决方案 > 如何使 java 代码在 MacOS 和 Windows 上都可以工作?

问题描述

我在面板中添加了一个鼠标滚轮事件侦听器,每当我滚动时,它都会通过我的 100 人字符串数组列表。我的代码目前在 Windows 上工作,防止索引越界错误。

但是如果我在 MacOS 上继续,它会返回一个越界错误,因为e.getWheelRotation()返回值从 -1->99,而e.getWheelRotation()在 Windows 上返回值 -1 或 1。

如何使我的代码在 MacOS 和 Windows 上运行相同?提前致谢。

 view.getMyFrame().addMouseWheelListener(new MouseWheelListener(){
    int holder = 0;
    int linesToDisplay = 20;
    @Override
    public void mouseWheelMoved(MouseWheelEvent e)
    {

                if((holder == 0 && e.getWheelRotation()!=-1) || (holder > 0 && holder<(100-linesToDisplay) || ((holder ==(100 - linesToDisplay) && e.getWheelRotation()!=1 )))){
                        holder+=e.getWheelRotation();
                        view.updatePanel(holder, linesToDisplay+holder);
                }

    }
}

标签: javaeventsevent-handlingmouseevent

解决方案


推荐阅读