2017-04-08 3 views
0

Also habe ich diesen Code mit JFrame gemacht, wo ich eine Label-Vordergrundfarbe zu einem aus einem jcolcuchoser ausgewählt haben, zuerst habe ich erfolglos versucht, das "Mouseclicked" -Ereignis aus dem colorchooser Element zu verwenden und es funktioniert einfach nicht, ich denke ich weiß warum, aber ich bin mir nicht sicher, also lass es einfach "es funktioniert nicht richtig", ich habe andere Optionen ausprobiert und ich lande mit dem, von dem ich denke, dass es der sein könnte am effektivsten, mouselistener implementieren, aber ich denke, ich benutze es nicht, wie ich sollte becouse es funktioniert nicht und gerade jetzt bin ich nur wirklich müde, also können Sie Kerl mir eine Hand geben? hier ist der Code:Erkennung von Klicks funktioniert nicht

public class dieztres extends javax.swing.JFrame implements MouseListener{ 

@Override 
public void mouseClicked(MouseEvent e) { 
    mylabel.setForeground(mycolorchooser.getSelectionModel().getSelectedColor()); 
} 

@Override 
public void mousePressed(MouseEvent e) {} 

@Override 
public void mouseReleased(MouseEvent e) {} 

@Override 
public void mouseEntered(MouseEvent e) {} 

@Override 
public void mouseExited(MouseEvent e) {}     

}

alles immer nutzlos aus dem Weg (wie Auto-Code generiert), das ist die wichtige Teile und ich entschuldigen wollen, wenn diese grundlegende Dinge ist, Im neu in diesem Bereich .

+0

Für bessere Hilfe früher, post ein [MCVE] oder [kurze, unabhängige, korrekte Beispiel] (http://www.sscce.org/). –

Antwort

1

Implementieren MouseListener ist nicht genug. Sie müssen Ihre Klasse auch unter Component registrieren. A JFrame ist ein Component und Ihre Klasse ist ein JFrame, also setzen Sie einfach this.addMouseListener(this) irgendwo bequem wie die Konstruktormethode.

+0

nein, immer noch nicht funktioniert – Lez

+0

Was Albert schrieb, ist richtig. Stellen Sie zunächst sicher, dass der Maus-Listener funktioniert (indem Sie beispielsweise eine Nachricht drucken). Nachdem Sie sichergestellt haben, dass es funktioniert, müssen Sie es tun, was Sie brauchen. – c0der

1

starten durch einen Blick auf How to Use Color Choosers nehmen, die zeigt, wie Sie Ihr Problem lösen könnte ...

direkt aus dem Tutorial ...

tcc.getSelectionModel().addChangeListener(this); 
. . . 
public void stateChanged(ChangeEvent e) { 
    Color newColor = tcc.getColor(); 
    banner.setForeground(newColor); 
} 

stellen Sie sicher, Nutzung der verfügbaren Tutorials machen und konsultieren die JavaDocs wenn Sie Probleme haben, haben sie oft Lösungen für die häufiger auftretenden Probleme

Verwandte Themen