0

私はプログラムを作成していて、JFrame の特定の領域をクリックしたときに何かをアクティブにする方法を知りたいと思っていました。

4

2 に答える 2

2

クリックしたい領域を表す Shape オブジェクトのリストを作成します。

List<Shape> shapes = new ArrayList<Shape>();

次に、さまざまな形状をリストに追加できます。

areas.add( new Rectangle(5, 5, 10, 10) );

次に、MouseListener をフレームに追加し、mousePressed イベントで次のようにします。

for (Shape shape: shapes)
{
    if (shape.contains(theMousePointFromTheMouseEvent)
        // do something
}
于 2013-07-27T03:09:53.687 に答える
0

JLabel オブジェクトを作成し、そのアイコンを表示したい画像に設定します。次に、ラベル オブジェクトにマウス リスナーを追加し、その抽象クラスすべて、特にマウス クリック メソッドを実装して、クリックしたときに実行したいことを実行します。次に、JLabel をクリックすると、必要なものが表示されます。

以下のコードは、ラベルがクリックされたときに「hello」を出力する例です:-

java.awt.event.MouseListener ml = new java.awt.event.MouseListener() {

            @Override
            public void mouseClicked(MouseEvent e) {
                System.out.println("hello");
            }

            @Override
            public void mousePressed(MouseEvent e) {

            }

            @Override
            public void mouseReleased(MouseEvent e) {

            }

            @Override
            public void mouseEntered(MouseEvent e) {

            }

            @Override
            public void mouseExited(MouseEvent e) {

            }
        }; 


       jLabel1.addMouseListener(ml);
于 2013-07-27T03:46:36.293 に答える