相关疑难解决方法(0)

使用JButton在Java中创建自定义按钮

我正在尝试创建一个具有自定义形状(六边形)的按钮,但其他方式就像普通的JButton一样(也就是说,与ActionListener一起使用).

我创建了一个扩展AbstractButton的类,但是当我单击它时它似乎没有向ActionListener发送事件.如果我更改类以扩展JButton它可以很好地工作,但它会搞砸按钮的显示方式.我假设有一个方法需要覆盖以使其触发事件,但我无法弄清楚它是什么.

java user-interface swing jbutton actionlistener

41
推荐指数
4
解决办法
6万
查看次数

为什么我的计时器事件每次重新启动时都会更快更快地触发?

我需要一个计时器用于我正在构建的游戏,它基本上做的是启动一个事件,当我点击游戏时每秒移动并对象一个正方形.现在要么我让游戏顺其自然(游戏结束或对象移出界限)或再次按下游戏,计时器似乎会触发对象比以前更快地移动等等,每次都越来越快我重新启动时间.

    private void playButtonMouseClicked(java.awt.event.MouseEvent evt) {                                        
        /*code*/
        timer = new Timer(timerSpeed, new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                /*code that ends with something that calls timer.stop()*/
            }
        }
    });
    if(timer.isRunning())   //in case I don't let the game stop the timer
        timer.stop();
    timer.start();
}
Run Code Online (Sandbox Code Playgroud)

我检查过timer.getDelay(),延迟没有改变,它保持不变,但我可以看到每次箭头移动越来越快.我正在使用jPanels和带有和图标的标签来显示网格和移动对象.

有任何想法吗?

java performance swing timer delay

0
推荐指数
1
解决办法
404
查看次数