实现这样一个功能很简单,我们可以把它封装到一个类中,如果我们想把一个带图标的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();
}
}
});
注意上面的红色代码是调用的部分...一般放在构造函数里
相关推荐
在JavaSE,给swing中的控件实现超链接效果其实很简单,代码是拿JLabel来举的例子
JLabel是Java Swing库中的一个组件类,它用于显示简单的文本或图像。
主要介绍了Java编程swing组件JLabel详解以及使用示例,具有一定借鉴价值,需要的朋友可以参考下
主要介绍了Java Swing JLabel标签的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
import java.awt.BorderLayout; import java.awt.Dimension;...import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JToolBar; import javax.swi
主要介绍了Jlabel实现内容自动换行简单实例,具有一定借鉴价值,需要的朋友可以参考下
JAVA开发中,swing的运用,用JLabel剪接图片
滚动条多个JLabel的Java Swing字幕功能演示
java JLabel组件 java JLabel组件 java JLabel组件
jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jButton1 = new javax.swing.JButton(); jButton2 = new javax.swing.JButton(); jButton3 = new ...
代码: package librarysystem; import java.awt.Color...import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JToolBar; 文档下载地址:http://download.csdn.net/detail/xing634325131/5119686
java Icon应用到JLabel中 java Icon应用到JLabel中 java Icon应用到JLabel中
对java 中 JLabel 控件的应用实例的集合,都是一些效果实例。
Java Socket 操作 Demo import java.awt.Color; import java.awt.Dimension; import java.awt.Point; import java.awt.event.KeyAdapter;...import javax.swing.JLabel; import javax.swing.JOptionPane;
import javax.swing.JLabel; import javax.swing.JTextField; import javax.swing.LayoutStyle.ComponentPlacement; import javax.swing.JSeparator; import javax.swing.JButton; public class ff { private ...
在swing的组件,如JLabel,JButton等,设置背景图片自适应自检的大小。
import javax.swing.JLabel; import javax.swing.JPanel; class MainFrame extends JFrame { /** *//** * */ private static final long serialVersionUID = 1L; JPanel panel = new JPanel(new ...
JLabel、JTextField、JTextArea、JButton JCheckBox、JRadioButton、JComboBox 运用以上组件进行图形界面设计 理解事件监听器 理解内部类和匿名类 理解布局管理器 BorderLayout 、FlowLayout、GridLayout
import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.xml....
import javax.swing.JLabel; import javax.swing.JTextField; @SuppressWarnings("serial") public class t1 extends JApplet implements ActionListener { Container cp=getContentPane(); Icon ro=new ImageIcon...