Hinzufügen eines Maus-listener, um ein Rechteck in java
Wie der Titel schon sagt, bin ich versucht, fügen Sie ein action-listener zu einem basic-Form auf ein Fenster. Ich Frage mich, ob dies überhaupt möglich ist? Ich erhalte Fehler, wenn ich versuche, fügen Sie die Zuhörer.
public static void main(String args[]) {
JFrame frame = new Main();
frame.setSize(300, 200);
frame.setVisible(true);
frame.setBackground(Color.BLUE);
}
Rectangle2D rect = new Rectangle2D.Double(60, 70, 120, 80);
public void paint(Graphics g) {
Graphics2D g1 = (Graphics2D)g;
g1.draw(rect);
g1.setPaint(Color.yellow);
g1.fill(rect);
}
Handlerclass handle = new Handlerclass();
rect.addMouseListener(handle);
public class Handlerclass implements MouseListener{
public void mouseClicked (MouseEvent e){
}
}
- Zeichnen Sie nicht direkt im JFrame innerhalb der paint-Methode. Stattdessen zeichnen in einem JPanel, das gehalten wird von der JFrame ist contentPane oder ist das JFrame ' s contentPane und machen Sie die Zeichnung in seiner paintComponent-Methode.
InformationsquelleAutor Sam | 2011-09-03
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht fügen Sie ein Maus-listener, die auf dieses Objekt. Wenn Sie versuchen, zu erkennen, Mausklicks innerhalb es dann, die Sie hinzufügen möchten, ein Maus-listener, um was auch immer Swing-container, Sie sind die Form zu zeichnen, dann verwenden Sie eine der
contains...
oderintersects...
Methoden.Schauen Sie sich die Dokumentation für Rectangle2D, wenn Sie eine chance bekommen.