Hallo!
Ich habe eine Content Pane auf die ich per Button beliebig viele JTextAreas hinzufügen kann. Nun möchte ich zu diesen JTextAreas einen MouseOver Effekt hinzufügen, der den Umfang des Objekts zeigt.
Ich habe nun einen MouseListener hinzugefügt. Bei MouseOver wird ein Rahmen gezeichnet. Wie kann ich nun bei MouseExited den Rahmen wieder löschen oder zumindest unsichtbar machen?
Hab mit UIManager rumprobiert, bin aber zu keinem Ergebnis gekommen.
Ich habe eine Content Pane auf die ich per Button beliebig viele JTextAreas hinzufügen kann. Nun möchte ich zu diesen JTextAreas einen MouseOver Effekt hinzufügen, der den Umfang des Objekts zeigt.
Ich habe nun einen MouseListener hinzugefügt. Bei MouseOver wird ein Rahmen gezeichnet. Wie kann ich nun bei MouseExited den Rahmen wieder löschen oder zumindest unsichtbar machen?
Hab mit UIManager rumprobiert, bin aber zu keinem Ergebnis gekommen.
Code:
public class GuiMatStyledText extends JTextArea implements ActionListener {
public GuiMatStyledText() {
super("Neuer Text");
this.initComponent();
}
public GuiMatStyledText(String text) {
super(text);
if(text == "") {
this.setText("Neuer Text");
}
this.initComponent();
}
// some basic stuff for this element
public void initComponent() {
setEditable(false);
this.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
m_clicked(evt);
}
});
this.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseEntered(java.awt.event.MouseEvent evt) {
m_entered(evt);
}
});
this.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseExited(java.awt.event.MouseEvent evt) {
m_exited(evt);
}
});
private void m_clicked(MouseEvent evt) {
//.... anything ...
}
private void m_entered(MouseEvent evt) {
this.setBorder(BorderFactory.createLineBorder(Color.GRAY));
}
private void m_exited(MouseEvent evt) {
// UIManager.put(this.getBorder(), false);
}
...