MouseDragged无效

时间:2017-08-11 10:25:40

标签: java

有人可以帮我解决这个问题,我一直在读一本关于学习用Java编程的书,复制了他们的一个程序而你的工作是mouseDragged无法正常工作。无法单击“Hello Java!”文本并将其拖动到屏幕上。我已经包含了该程序,但我无法看到我出错的地方或我曾经迷失过的地方。 我看过帖子:" MouseDragged& MouseMoved无法在Java Applet"中工作,但这些方法都在我的程序中。

//file: HelloJava3.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class HelloJava3 {

public static void main(String[] args) {
    JFrame frame = new JFrame("HelloJava3");
    frame.add( new HelloComponent3("Hello, Java!"));
    frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);
    frame.setSize(300, 300);
    frame.setVisible(true);

}

}

class HelloComponent3 extends JComponent
implements ActionListener, MouseMotionListener
{
    String theMessage;
    int messageX = 125, messageY = 95; //Coordinates of the message

    JButton theButton;

    int colorIndex; //Current index into someColors
    static Color[] someColors = {
            Color.black, Color.red,               Color.green,  Color.blue,  Color.magenta
    };

public HelloComponent3(String message) {
    theMessage = message;
    theButton = new JButton("Change Color");
    setLayout(new FlowLayout());
    add(theButton);
    theButton.addActionListener(this);
    addMouseMotionListener(this);
}

public void paintComponent(Graphics g) {
    g.drawString(theMessage, messageX, messageY);
}

public void mouseDgragged(MouseEvent e) {
    messageX = e.getX();
    messageY = e.getY();
    repaint();
}

public void mouseMoved(MouseEvent e) {}

public void actionPerformed(ActionEvent e) {
    // Did somebody push out button?
    if (e.getSource() == theButton)
        changeColor();
}

synchronized private void changeColor() {
    //Change the index to the next colour, awkwardly.
    if (++colorIndex == someColors.length)
        colorIndex = 0;
    setForeground(currentColor()); // Use the new colour.
    repaint();
}

synchronized private Color currentColor() {
    return someColors[colorIndex];
}

@Override
public void mouseDragged(MouseEvent arg0) {
    // TODO Auto-generated method stub

}
}

0 个答案:

没有答案