Tengo un problema donde cuando trato de agregar un mouselistener a un JLabel o JButton en un JTextPane obtengo el error "no se puede convertir a Mouselistener mediante la conversión de invocación". Preferiría tener el componente en un JEditorPane. También escuché que podría usarse un HyperlinkEvent.Agregando mouselistener a JLabel/JButton insertado en JTextPane
Básicamente quiero un componente que se puede hacer clic con el botón derecho/izquierdo en un JEditorPane (preffered)/JTextPane. Cualquier ayuda sería apreciada
Ahora funciona (sortof) solo recibe clics con el botón derecho y no necesito dibujar los bordes de los botones. ¿Puedo subrayar el texto del botón?
código de ejemplo sigue ...
import java.awt.*;
import javax.swing.*;
import java.awt.Color;
import javax.swing.JTextPane;
import javax.swing.JButton;
import java.applet.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class jlabeltest extends Applet {
public void init() {
jlabeltest editorPaneExample = new jlabeltest();
editorPaneExample.setSize(550, 300);
// editorPaneExample.setText("tutorialData.com");
editorPaneExample.setVisible(true);
}
public jlabeltest() {
JTextPane editorPane = new JTextPane();
editorPane.setSelectedTextColor(Color.red);
editorPane.setText("<p color='#FF0000'>Cool!</p>");
InlineB label = new InlineB("JLabel");
label.setAlignmentY(0.85f);
label.addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent e)
{
if (e.isPopupTrigger())
{
JOptionPane.showMessageDialog(null,"Hello!");
// do your work here
}
}
});
editorPane.insertComponent(label);
this.add(editorPane);
}
}
InlineB.java
import javax.swing.JButton;
public class InlineB extends JButton {
public InlineB(String caption) {
super(caption);
}
}
¿Tienes algún código de muestra? – MadProgrammer