`
Sunshyfangtian
  • 浏览: 243512 次
  • 性别: Icon_minigender_1
  • 来自: 惠州
社区版块
存档分类
最新评论

Swing 给JLabel加超链接

    博客分类:
  • Java
阅读更多

实现这样一个功能很简单,我们可以把它封装到一个类中,如果我们想把一个带图标的JLabel做成一个超链接效果,就可以给JLabel组件增加鼠标事件,来调用我们下边的代码,打开系统的默认浏览器。   

 

自己先封装一个打开浏览器的类:
package com.feng.logon;

import java.awt.Cursor;
import java.awt.Desktop;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URISyntaxException;
import javax.swing.JLabel;

/** *//**
*
* @author Anthrax
*此类负责检测系统的默认浏览器等程序,并负责启动它们
* @netSite 指定要显示的网址
*/
public class RunBrowser{
private Desktop desktop;
private URI uri;
private String netSite;
private Cursor hander;
/** *//** Creates a new instance of DesktopRuner */
public RunBrowser(){
    this.desktop = Desktop.getDesktop();
}
/**//*
*检测系统是否支持浏览器
*/
public boolean checkBroswer(){
    if(desktop.isDesktopSupported() && desktop.isSupported(Desktop.Action.BROWSE)){
        return true;
    }
    else{
        return false;
    }
}
/**//*
*运行默认浏览器,并在其中显示指定网址
*/
public void runBroswer(){
    netSite = "
http://www.baidu.com";
    try {
        uri = new URI(netSite);
    } catch (URISyntaxException ex){
        ex.printStackTrace();
    }
    try{
        desktop.browse(uri);
    } catch (IOException ex){
        ex.printStackTrace();
    }
}
/**//*
*改变鼠标形状
*/
public void changeMouse(JLabel label){
    hander = new Cursor(Cursor.HAND_CURSOR);
    label.setCursor(hander);
}
}

 

 


 

假如有这样一个JLabel,就可以给这个JLabel加超链接了

JLabel   jl=new JLabel("申请帐号");

LLogon.setCursor(new Cursor(Cursor.HAND_CURSOR));//这样也可以改变鼠标形状
    LLogon.addMouseListener(new   MouseAdapter(){  
      public   void   mouseClicked(MouseEvent   e){  
      try{     
      new RunBrowser().runBroswer();
      }catch(Exception   ex){  
      ex.printStackTrace();  
      }  
      }  
      });
  

 

注意上面的红色代码是调用的部分...一般放在构造函数里

分享到:
评论

相关推荐

    Java在Swing窗口上实现文字超链接.rar

    在Java的Swing库中创建GUI应用程序时,有时我们需要在窗口上添加超链接,以便用户可以点击并跳转到特定的网页。这个“Java在Swing窗口上实现文字超链接.rar”文件提供了一个示例,展示了如何在Swing组件中实现这种...

    JavaSE JLabel超链接例子

    在JavaSE中,如果我们想要在JLabel中实现超链接效果,即点击文本后能够触发特定的动作,如打开一个网页,可以通过自定义组件或扩展JLabel来实现。 首先,我们来看`JLabelLink.java`这个文件,这很可能是自定义的一...

    Swing 添加超链接 打开页面

    这篇博客文章(https://lazycat774880994.iteye.com/blog/567412)很可能详细讲解了如何在Swing应用中集成超链接,并且可能涉及到JDK默认提供的`javax.swing.JLabel`和第三方库JDIC的使用。 `javax.swing.JLabel`是...

    基于Java Swing的超链接标签

    ### 基于Java Swing的超链接标签与按钮实现 #### 概述 在Java Swing框架下,我们经常需要在用户界面中嵌入超链接功能,以提供更加丰富的交互体验。例如,在`JTable`(一种用于显示表格数据的组件)中添加超链接...

    含有可链接标签的Swing气泡

    标题"含有可链接标签的Swing气泡"暗示了一个定制的Swing组件,这个组件不仅包含了标准的JLabel的功能,还添加了点击事件监听,使得标签内的文本可以像网页中的超链接一样被点击,触发预设的事件或动作。气泡通常指的...

    swing发邮件客户端

    - Swing邮件客户端允许用户编辑HTML邮件,这意味着需要支持插入图片、超链接、字体样式等功能。 6. **安全性和加密**: - SSL/TLS加密:为了保护用户的隐私,SMTP连接通常使用SSL或TLS进行加密,确保数据传输的...

    java 标签的制作

    在Java编程中,"标签"通常指的是用户界面(UI)组件,如Swing或JavaFX中的JLabel,它们用于展示文本或图像信息。本篇博客将深入探讨如何在Java中创建和使用这些标签,以及相关的工具和技术。 首先,Java Swing是...

    使用swingx创建的折叠菜单

    JLabel searchLabel = new JLabel("Search:"); JTextField searchField = new JTextField(""); details.add(searchLabel); details.add(searchField); container.add(details); } JXTaskPaneContainer ...

    Java组建用法大全.pdf

    `JLabel`是Swing库中用于显示文本或图像的组件。下面是一个`JLabel`使用示例: ```java import javax.swing.*; import java.awt.*; public class JLabelDemo { JFrame mainFrame; JLabel simpleLabel; public ...

    用java实现的简单浏览器程序

    - `javax.swing.event.HyperlinkEvent` 和 `HyperlinkListener` 用于处理超链接事件。 - `java.io` 和 `java.net` 用于处理网络通信和I/O操作。 ##### 2. 主类定义 ```java public class brower extends JFrame ...

    java浏览器java浏览器java浏览器

    - **JLabel**, **JButton**, **JTextField**:这些都是Swing的基本UI组件,分别用于显示文本、按钮和文本输入字段。 - **JMenuBar**, **JMenu**, **JMenuItem**:这些组件用于创建菜单栏和菜单项。 - **JScrollPane*...

    基于java的浏览器的设计与实现.doc

    Java Swing提供了一系列组件(如JButton、JLabel、JTabbedPane等),允许开发者创建丰富的交互式界面。通过添加监听器和事件处理器,可以实现用户与界面的互动,例如点击按钮打开新网页、选择收藏夹等。 为了实现在...

    计算机软件及应用图形用户界面设计PPT学习教案.pptx

    例如,Swing扩展了AWT的组件,提供了如JButton、JLabel、JTextArea等更加强大和可定制的组件。Swing还引入了抽象类,如AbstractButton,作为按钮类的基础,允许更多的自定义和扩展。 设计GUI时,首先要选择合适的...

    用java制作简易浏览器

    - `JLabel`, `JTextField`, `JButton`, `JPanel`等组件用于构建用户交互界面。 - `BorderLayout`布局管理器被用来组织窗口内的各个组件。 2. **网页加载与显示**: - `JEditorPane`组件用于显示HTML内容。 - ...

    Java Applet内嵌网页运行初探 (1).pdf

    文本显示可以利用Java的Swing或AWT库中的组件,如`JLabel`或`JTextArea`,而音乐播放可能需要利用Java的`javax.sound`包来处理音频资源。 以下是一个简单的Applet代码示例,展示了如何在Applet中显示文本: ```...

    java做到一个QQ登录界面

    尽管Swing提供了许多预定义的组件,如JButton、JLabel等,但在这里我们选择不使用它们,而是基于AWT的Component类自定义组件。Component类是所有GUI组件的基类,它包含了基本的事件处理和绘图方法。 在描述中提到的...

    html 标记大全.rar

    3. `<a>`:定义超链接。 4. `<img>`:插入图片。 5. `<ul>`和`<ol>`:定义无序列表和有序列表。 6. `<li>`:定义列表项。 7. `<div>`:定义文档中的分区或容器。 8. `<span>`:定义文档中的一个短语或单词。 9. `...

    基于java的浏览器的设计与实现-学位论文.doc

    Java Swing 是用于构建用户界面的主要工具,它提供了丰富的组件库,如 JTabbedPane 用于实现多页面浏览,JList 可以用于展示浏览历史,JButton 和 JLabel 结合监听器和事件处理可以实现超链接的响应。Swing 的可扩展...

    基于Java的浏览器的设计与实现毕业设计.doc

    Swing提供了一系列组件(JFrame, JButton, JLabel, JTabbedPane等),允许开发者创建具有丰富交互性的图形用户界面。在浏览器设计中,开发者需要利用这些组件构建浏览窗口、地址栏、书签栏等,并添加事件监听器以...

    JAVA版浏览器Website Browser v1¸0.doc

    - `JFrame`:这是Java Swing中的顶级容器,用于创建窗口。在`WebsiteBrowser`类中,它是整个应用程序的基础框架。 - `JPanel`:用于在窗口中添加组件,`contentPane`在这里是主面板,可能承载着浏览器的主要内容。...

Global site tag (gtag.js) - Google Analytics