Con netbeans puoi benissimo scrivere il codice a mano, basta non usare la modalita' proposta da netbeans (fai una nuova classe generica, gli fai estendere JFrame e te la scrivi come preferisci).
Per il problema del codice, puoi barare mettendo i link come
codice:
<a href="parolaChiave">link<a>
Poi nel hyperlinkUpdate ottieni parolaChiave con event.getDescription() e poi chiami il metodo desiderato.
codice:
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
public class ActiveLinksPane extends JEditorPane implements HyperlinkListener {
public ActiveLinksPane() {
super();
this.setContentType("text/html");
this.setEditable(false);
this.addHyperlinkListener(this);
}
public void hyperlinkUpdate(HyperlinkEvent event) {
if (event.getEventType()==HyperlinkEvent.EventType.ACTIVATED) {
try {
String metodo = event.getDescription();
if(metodo.equals("uno")) {
metodo1();
} else if(metodo.equals("due")) {
metodo2();
}
} catch(Exception e) {
e.printStackTrace();
}
}
}
public void metodo1() {
JOptionPane.showMessageDialog(this, "Chiamo metodo1");
this.setBackground(Color.RED);
}
public void metodo2() {
JOptionPane.showMessageDialog(this, "Chiamo metodo2");
this.setBackground(Color.WHITE);
}
public static void main(String[] args) {
JFrame frame = new JFrame("Test");
ActiveLinksPane pannello = new ActiveLinksPane();
pannello .setText("<html>Clicca <a href=\"uno\">qui</a>
" +
" e poi <a href=\"due\">qui</a></html>");
frame.setContentPane(new JScrollPane(pannello));
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setSize(200,200);
frame.setLocation(100,100);
frame.setVisible(true);
}
}