重複の可能性:
JLabel にハイパーリンクを追加する方法
私のプログラムでは、Lucene を使用してインデックスを検索し、ファイルを取得しています。Lucene の検索から取得したドキュメントの XML ファイルを作成しました。ここで、これらの XML ファイルをハイパーリンクとして作成し、検索結果としてユーザーに表示したいと考えています。つまり、ユーザーがこのハイパーリンクをクリックしたときに XML ファイルを開く必要があります。助けていただければ幸いです!?
for(int i=0;i<file_count;i++)
{
file=str+index[i]+".xml";
JLabel label = new JLabel(file,JLabel.CENTER );
label.setOpaque(true);
label.setBackground(Color.RED);
panel.add(label) ;
label.addMouseListener(new java.awt.event.MouseAdapter() {
@Override
public void mouseClicked(java.awt.event.MouseEvent evt) {
if(evt.getClickCount() > 0)
{
Runtime r= Runtime.getRuntime();
try {
System.out.println("testing : Inside mouseclicked");
Process p = r.exec("cmd.exe /c start "+file);
System.out.println("opened the file");
} catch (IOException ex) {
System.out.println(ex.getMessage());
System.out.println();
}
}
}
});
}
ここに私が作ったコードがあります。これで、画面「file_count」回に出力が得られると思います。私はそれを取得していますが、クリックするとすべてのリンクが同じファイルを表示しています。ヘルプ?