java-如何将xml转换为超链接?

java-如何将xml转换为超链接?,java,swing,hyperlink,Java,Swing,Hyperlink,可能重复: 在我的程序中,我使用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

可能重复:

在我的程序中,我使用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();
}
}
}
});
 }
for(int i=0;i 0)
{
Runtime r=Runtime.getRuntime();
试一试{
System.out.println(“测试:鼠标点击内部”);
进程p=r.exec(“cmd.exe/c start”+文件);
System.out.println(“打开文件”);
}捕获(IOEX异常){
System.out.println(例如getMessage());
System.out.println();
}
}
}
});
}

这是我编写的代码。在这种情况下,我假设在屏幕上获得“file_count”次数的输出。我明白了,但现在发生的是,所有的链接都显示相同的文件时,点击。帮助?

如果我正确理解了您的问题,您希望允许用户打开一个文件。类(从JDK1.6开始提供)允许这样做

File fileToOpen = ...;
Desktop desktop = Desktop.getDesktop();
desktop.open( fileToOpen )

根据您希望如何向用户演示,您可以选择在侦听器中使用
JLabel
代码,但在
ActionListener中使用
JButton
可能更容易。这两种方法都在Marko Topolnik的评论中进行了详细讨论。唯一的区别是他们想要打开一个URL,而你想要打开一个文件(这样答案就使用了
browse
方法,而不是
Desktop
类的
open
方法)。

简短的问题:如何创建指向文件的超链接?回答:@ChadNC:我在JLabel中尝试过,但是鼠标点击的动作有问题!假设我有三个文件要显示为输出,当我使用JLabel的鼠标单击事件时,在输出面板中,它为所有三个链接显示相同的文件。怎么办?@SteveH:不是用HTML,我要用Java。就像@ChadNC说的,你试过什么?请发布一些代码和一个特定的问题,它在哪里/如何做不到你想要的。另外,更详细地解释一下你想如何使用JLabels,因为每个人似乎都认为你想要一个web应用程序。web上充满了答案这是一个网站。+1A是另一个方法。