مساء الخير جميعا
عندي سوال شو الفرق بين ال
mouselistenr and mousemotionlistener
كتبت هذا الكود باستخدامهم لكن الوضع مازبط
البرنامج رافض يتعرف على ضغطات الماوس
اتفضلوا الكود
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Play extends JFrame
{ JPanel board ;
JLabel bar ;
Draw d;
public Play()
{ board = new JPanel();
board.setBackground(Color.RED);
add( board, BorderLayout.CENTER);
bar = new JLabel("let's play X-O game");
add( bar,BorderLayout.SOUTH);
d= new Draw();
add(d, BorderLayout.CENTER);
MouseHandler handler = new MouseHandler();
board.addMouseListener(handler);
board.addMouseMotionListener(handler);
}
private class MouseHandler implements MouseListener,MouseMotionListener
{
public void mouseClicked(MouseEvent event)
{
bar.setText(String.format("Clicked at [%d,%d]",event.getX(),event.getY()));
}
public void mousePressed(MouseEvent event)
{
bar.setText(String.format("pressed at [%d,%d]",event.getX(),event.getY()));
}
public void mouseReleased(MouseEvent event)
{
bar.setText(String.format("relase at [%d,%d]",event.getX(),event.getY()));
}
public void mouseEntered(MouseEvent event)
{
bar.setText(String.format("enter at [%d,%d]",event.getX(),event.getY()));
}
public void mouseExited(MouseEvent event)
{
}
public void mouseDragged(MouseEvent event)
{
bar.setText(String.format("deagged at [%d,%d]",event.getX(),event.getY()));
}
public void mouseMoved(MouseEvent event)
{
bar.setText(String.format("moved at [%d,%d]",event.getX(),event.getY()));
}
}
public static void main(String args[]) {
Play window = new Play();
window.setDefaultCloseOperation(EXIT_ON_CLOSE);
window.setSize(340,320);
window.setTitle("X-O game");
window.setVisible(true);
}
}
class Draw extends JComponent
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g.setColor(Color.WHITE);
g.drawLine(100,0, 100, 300);
g.drawLine(200,0,200,300);
g.drawLine(0,100,300,100);
g.drawLine(0,200,300,200);
}
}
