我有一个问题,当我尝试将鼠标侦听器添加到 JTextPane 中的 JLabel 或 JButton 时,我收到错误“无法通过调用转换转换为 Mouselistener”。我更希望将组件放在 JEditorPane 中。我还听说可以使用 HyperlinkEvent。
基本上我想要一个可以在 JEditorPane(preffered)/JTextPane 中右击/左击的组件。任何帮助,将不胜感激
现在它工作(排序)它只接收右键单击,我不需要绘制按钮边缘。我可以在按钮的文本下划线吗?
示例代码如下...
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);
}
}
内联B.java
import javax.swing.JButton;
public class InlineB extends JButton {
public InlineB( String caption ) {
super( caption );
}
}