Tôi gặp vấn đề khi tôi thử và thêm một mouselistener vào JLabel hoặc JButton trong một JTextPane Tôi nhận được lỗi "không thể chuyển đổi thành Mouselistener bằng chuyển đổi lời gọi". Tôi muốn có thành phần trong JEditorPane. Tôi cũng nghe nói một HyperlinkEvent có thể được sử dụng.Thêm trình kết nối đồng bộ vào JLabel/JButton được chèn vào trong JTextPane
Cơ bản tôi muốn một thành phần có thể nhấp chuột phải/trái trong một JEditorPane (tiền tố)/JTextPane. Bất kỳ trợ giúp nào cũng sẽ được đánh giá là
Bây giờ nó hoạt động (sắp xếp) nó chỉ lặp lại các nhấp chuột phải và tôi không cần vẽ các cạnh nút. Tôi có thể nhấn mạnh văn bản của nút không?
Ví dụ mã sau ...
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);
}
}
Có một số mã mẫu? – MadProgrammer