JavaSE 点击实现超链接

来源:互联网 发布:linux复制文件到根目录 编辑:程序博客网 时间:2024/06/01 15:17

在JavaSE,给swing中的控件实现超链接效果其实很简单,下面拿JLabel来举例子:代码如下

import java.awt.Desktop;import java.io.IOException;import java.net.MalformedURLException;import java.net.URISyntaxException;import java.net.URL;import javax.swing.JLabel;/** *  *JLabelLink这个类继承了JLabel,主要是为了写入linked()这个方法 *需要实例这个类的时候,用对象调用linked这个方法,就可以打开网页了 */public class JLabelLink extends JLabel {private static final long serialVersionUID = 1L;private URL link = null;public JLabelLink(String jLableText) {super(jLableText);}public void linked(String link) {try {if(!link.startsWith("http://")) {link = "http://" + link;}this.link = new URL(link);} catch (MalformedURLException err) {err.printStackTrace();}try {Desktop.getDesktop().browse(this.link.toURI());} catch (IOException err) {err.printStackTrace();} catch (URISyntaxException err) {err.printStackTrace();}}}


创建JLabelLink对象,并运行,代码如下:

import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.JFrame;public class LinkTest extends JFrame implements MouseListener {public LinkTest() {jLabelLink = new JLabelLink("这是一个超链接标签");jLabelLink.addMouseListener(this);this.add(jLabelLink);this.setSize(300, 300);this.setVisible(true);this.setDefaultCloseOperation(EXIT_ON_CLOSE);}public static void main(String[] arg0) {new LinkTest();}@Overridepublic void mouseClicked(MouseEvent e) {// TODO Auto-generated method stubif(e.getSource() == jLabelLink) {jLabelLink.linked("www.baidu.com");}}@Overridepublic void mousePressed(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseReleased(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseEntered(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseExited(MouseEvent e) {// TODO Auto-generated method stub}private JLabelLink jLabelLink = null;}


资源下载连接:http://download.csdn.net/detail/fujiff/5764067

原创粉丝点击