0
public class cPan extends JPanel implements ActionListener{
    @Override
    public void actionPerformed(ActionEvent arg0) {


    }
}

JPanel 内からアクションをキャッチする上記のコードがあります。

JPanel内からx、y座標を取得する方法について混乱しています。たとえば、クリックした場所

したがって、100,200 (x,y) をクリックすると、これが表示されます。

arg0 から与えられた関数を見てきましたが、役に立つものは何も見つかりません。

どこが間違っているのですか?

4

4 に答える 4

2

マウス リスナーを追加する必要があります。

JPanel panel = new JPanel ();
panel.setPreferredSize (new Dimension (640, 480));
panel.addMouseListener (new MouseAdapter() {
    @Override
    public void mouseClicked (MouseEvent e) {
        JOptionPane.showMessageDialog(
            e.getComponent (), "X: " + e.getX () + ", Y: " + e.getY ());
    }
});

JFrame frame = new JFrame ("Click");
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
frame.getContentPane ().setLayout (new BorderLayout ());
frame.getContentPane ().add (panel, BorderLayout.CENTER);
frame.pack ();
frame.setVisible (true);
于 2013-02-12T10:17:45.257 に答える