0

線やその他のコンポーネントを作成していて、線がクリック可能になるので、スイングボタンイベントのように応答させたいです。

    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);
        }

    }

これはどのように機能しますか?

4

2 に答える 2

0

数学の問題でしょう。直線の方程式を見つけてから、点からの距離を見つける必要があります (マウス クリック)。
計算はあなたのために行われます。たとえば、ここで

また、マウスイベントの処理についても理解する必要があります。

于 2012-09-27T19:01:35.827 に答える
0

JButton から拡張するのはどうですか? JComponent で行ったようにペイント メソッドをオーバーライドし、通常のボタンのように使用します。Border も変更する必要があるかどうかはわかりません。私は GUI 要素の変更に慣れていませんが、これでうまくいくはずです。

于 2012-09-27T19:05:53.203 に答える