鼠标事件 - Jslider 不会在上次点击的坐标上更新

问题描述

我正在使用 java swing,并且正在尝试调整使用 jslider 绘制的网格的阴影(从 -1 到 1)。但是,jslider 仅适用于我右键单击的第一个框,并且即使我单击其他框,滑块也只会更改该框的阴影。我如何制作它以便 JSlider 允许我 t

public void mouseClicked(MouseEvent e) {
        // TODO Auto-generated method stub
        if (e.getY() > HEIGHT - 112) {
            int index = e.getX()/(WIDTH/10);
            clearDigit(index);
        }
        if (e.getX() >= 34 && e.getX() < 334 && e.getY() >= 34 && e.getY() < 454) {
            int r = (e.getY() - 34)/60;
            int c = (e.getX() - 34)/60;
            if (e.getButton() == MouseEvent.BUTTON1) {
                digit[5*r+c] = 1;

            }   
            else if (e.getButton() == MouseEvent.BUTTON3) {
                digit[5*r+c] = 0;
            slider = new JSlider(JSlider.VERTICAL,10,1); 
            slider.setBounds(336,120,30,200);
            slider.setInverted(true);
            slider.setPaintLabels(true);
            this.add(slider);
            slider.addChangeListener(new ChangeListener() {
                public void stateChanged(ChangeEvent e) {
                    JSlider source = (JSlider) e.getSource();
                    double shade = ((double) source.getValue() / 10);
                    digit[5*r+c] = shade;
                    repaint();
                }
            });
            }
        }
        repaint();
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...