一条线如何作为Swing按钮?

时间:2012-09-27 18:55:58

标签: java swing repaint paintcomponent mouse-listeners

我正在创建线条和其他组件,并希望它们像Swing按钮事件一样响应,因为线条可以点击:

    class CustomLine extends JComponent {

        private int destx = 100;
        private int desty = 100;
        private int startx = 0;
        private int starty = 0;

        public void paintComponent(Graphics g) {
            super.paintComponent(g);
            g.drawLine(startx, starty, destx, desty);
        }

    }

这是如何运作的?

2 个答案:

答案 0 :(得分:0)

这将是一个数学问题。你需要找到线的方程,然后找到距离点的距离(鼠标点击) 数学已经为您完成,例如here

您还需要弄清楚处理鼠标events

答案 1 :(得分:0)

从JButton扩展它怎么样? 只需像使用JComponent一样过度使用paint-Method,并像普通Button一样使用它。 我不确定,如果你需要改变边界。我不熟悉改变GUI元素,但也许这应该可以解决问题。