1. 认识JLabel

JLabel组件表示的是一个标签,本身是用于显示信息的,一般情况下是不能直接更改器显示内容的。创建完的Label对象可以通过Container类中的add()方法,加入到容器中,JLabel类的常用方法和常量如下表所示。

序号

常量

描述

1

public static final int LEFT

标签文本左对齐

2

public static final int CENTER

标签文本居中对齐

3

public static final int RIGHT

标签文本右对齐

序号

方法

描述

1

public JLabel() throws HeadlessException

创建一个JLabel对象

2

public JLabel(String text) throws HeadlessException

创建一个标签并制定文本内容,默认左对齐

3

public Label(String text,int alignment) throws HeadlessException

创建一个标签并制定文本内容以及对齐方式,可以使用JLable.LEFT,JLabel.RIGHT,JLabel.CENTER这三个值

4

public JLabel(String text,Icon icon,int horizontalAlignment)

创建具有指定文本,图像,水平对齐方式的JLabel对象

5

public JLabel(Icon image,int horizontalAlignment)

创建具有制定图形和水平对齐方式的JLabel实例

6

public void setText(String text)

设置标签的文本

7

public String getText()

获取标签文本

8

public void setAlignment(int alignment)

设置标签的对齐方式

9

public void setIcon(Icon icon)

设置指定的图像

实例:使用一个标签

import java.awt.Color ;

import java.awt.Dimension;

import java.awt.Point ;

import javax.swing.JLabel ;

import javax.swing.JFrame ;

public class JLabelDemo01{

public static void main(String args[]){

JFrame frame = new JFrame("JLable Test") ;

JLabel lab = new JLabel("我是一个标签",JLabel.CENTER) ; // 实例化标签对象

frame.add(lab) ; // 将组件件入到面板之中

frame.setBackground(Color.WHITE) ;//设置窗体的背景颜色

Dimension dim = new Dimension() ;

dim.setSize(400,200) ; //窗体的大小

frame.setSize(dim) ; //设置窗体大小

Point point = new Point(500,100) ; // 设置坐标

frame.setLocation(point) ; //设置窗体坐标

frame.setVisible(true) ; //设置窗体可见

}

}

运行结果:

如果要在上面的代码中体现出容器的概念,可以直接通过JFrame中的getContentPane()取得窗口的Container对象,并在此对象中加入组件。

修改后的代码如下:

import java.awt.Container;

import java.awt.Dimension;

import java.awt.Point ;

import javax.swing.JLabel ;

import javax.swing.JFrame ;

public class JLabelDemo001{

public static void main(String args[]){

JFrame frame = new JFrame("JLable Test") ;

Container container=frame.getContentPane(); //取得当前窗体的容器

JLabel lab = new JLabel("我是一个标签",JLabel.CENTER) ; // 实例化标签对象

container.add(lab) ; // 将组件件入到窗体的容器中

Dimension dim = new Dimension() ;

dim.setSize(400,200) ; //窗体的大小

frame.setSize(dim) ; //设置窗体大小

Point point = new Point(500,100) ; // 设置坐标

frame.setLocation(point) ; //设置窗体坐标

frame.setVisible(true) ; //设置窗体可见

}

}

运行结果和上面的运行结果一样

2.更改JLable的文字样式

以上的标签内容只是使用了默认的字体和颜色显示,如果现在要更改使用的字体,则可以直接使用Component类中定义的一下方法:

public void setFont(Font f)

在设置是使用java.awt.Font类来表示字体,Front类常用的操作方法及常量如下表所示:

序号

方法或常量

类型

描述

1

public static final int BOLD

常量

文字显示为粗体

2

public static final int ITALIC

常量

文字显示风格为斜体

3

public static final int PLAIN

常量

文字显示风格为普通样式

4

public Font(String name,int style,int size)

构造方法

实例化对象,指定显示风格和大小

5

public String getFontName()

普通成员方法

得到字体的名称

实例:设置标签的显示字体,大小,背景颜色

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Font;

import java.awt.Point;

import javax.swing.JLabel;

import javax.swing.JFrame;

public class JLabelDemo02

{

public static void main(String args[])

{

JFrame frame = new JFrame("更改JLable的文字样式");

// 实例化标签对象,文本左对齐

JLabel lab = new JLabel("标签中的文字", JLabel.LEFT);

//创建Font对象 使用Serief字体,显示风格为斜体Font.ITALIC,加粗Font.BOLD,字号大小为28

Font fnt = new Font("Serief", Font.ITALIC + Font.BOLD, 30);

lab.setFont(fnt); //设置标签中的字体

lab.setForeground(Color.BLUE); //设置标签中的文字颜色

frame.add(lab); // 将组件件入到面板之中

frame.getContentPane().setBackground(Color.PINK);//设置窗体背景颜色

Dimension dim = new Dimension(); //初始化窗体大小

dim.setSize(400, 200);

frame.setSize(dim); //设置窗体大小

Point point = new Point(500, 100); //初始化坐标点

frame.setLocation(point); //设置窗体位置

frame.setVisible(true);

}

}

运行结果:

获取本机中的全部字体

如果想取得本机的全部字体该怎么办呢?—-可以使用GraphicsEnvironment类完成

java.awt.GraphicsEnvironment可以返回本机的全部绘图设备和全部字体的集合,该类是抽象类,要想实例化对象,直接使用类中的getLocalGraphicsEnvironment()方法即可,之后通过getAvailableFontFamilyNames()方法就可取得全部的可用字体,代码如下。

实例:取得本机中的全部可用字体

import java.awt.GraphicsEnvironment;

public class GetAllFonts

{

public static void main(String args[])

{

GraphicsEnvironment eq = GraphicsEnvironment.getLocalGraphicsEnvironment();

String fontNames[] = eq.getAvailableFontFamilyNames();

for (int x = 0; x < fontNames.length; x++)

{

System.out.println(fontNames[x]);

}

}

}

运行结果,这里太多了,只输出部分。其他的省略掉:

Agency FB

Algerian

Arial

//太多了省略...

Consolas

//太多了省略...

Times New Roman

//太多了省略...

仿宋

//太多了省略...

隶书

黑体

在JLabel中设置图片

将一个图片设置到JLabel中也是可以的,直接使用Icon接口以及ImageIcon子类即可,在ImageIcon中可以使用如下表的构造方法,将图片的数据已byte数组的形式设置到JLabel上去。

序号

方法

类型

描述

1

public ImageIcon(byte[] imageData)

构造方法

将保存图片信息的byte数组设置到ImageIcon中

2

public ImageIcon(String filename)

构造方法

通过文件名称创建ImageIcon对象

3

public ImageIcon(String finame,String description)

构造方法

设置图片路径以及图片的简单描述

下面先来看第一个构造方法的使用,如果要从一个图像文件中取得字节数组,那就要使用InputStream类来完成操作。

实例代码: 在标签上设置图像

package java1.awt.jlable;

import java.awt.Dimension;

import java.awt.Color;

import java.awt.Font;

import java.awt.Point;

import java.io.File;

import java.io.FileInputStream;

import java.io.InputStream;

import javax.swing.JLabel;

import javax.swing.JFrame;

import javax.swing.Icon;

import javax.swing.ImageIcon;

public class JLabelDemo03

{

public static void main(String args[])

{

JFrame frame = new JFrame("在JLabel标签上设置图片");

//指定图片的路径

String picPath = "C:\\Users\\Administrator\\Desktop\\蓝精灵.jpg";

File file = new File(picPath); // 实例化File类的对象

InputStream input = null;

byte b[] = new byte[(int) file.length()]; //根据图片大小设置字节数组的长度

try

{

input = new FileInputStream(file); //实例化文件字节输入流

input.read(b); //从图片中读取字节到字节数组中

input.close(); //关闭文件流

} catch (Exception e)

{

e.printStackTrace();

}

Icon icon = new ImageIcon(b); //使用字节数组,实例化ImageIcon对象

// 实例化标签对象:带图片,居中对齐

JLabel lab = new JLabel("带图片的标签", icon, JLabel.CENTER);

//设置字体,隶书,斜体,加粗,字号为28

Font fnt = new Font("宋体", Font.ITALIC + Font.BOLD, 28);

//设置标签中的字体

lab.setFont(fnt);

//这个标签中自字体的颜色

lab.setForeground(Color.BLUE);

//设置标签背景颜色

lab.setOpaque(true);

lab.setBackground(Color.PINK);

//把标签添加到面板中

frame.add(lab); // 将组件件入到面板之中

// 设置窗体的背景颜色

frame.getContentPane().setBackground(Color.WHITE);

//设置窗口宽度和高度

Dimension dim = new Dimension();

dim.setSize(800,600 );

frame.setSize(dim);

//设置窗体的坐标

Point point = new Point(100, 100); // 设置坐标

frame.setLocation(point);

frame.setVisible(true);

}

}

运行效果:

为jlabel设置背景颜色

jlabel默认是透明的,所以默认情况下对其设置背景色是不管用的。

但是这样就可以更改其背景颜色:

jlabel.setOpaque(true);

jlabel.setbackground(color.black);

出处:https://blog..net/mr_pang/article/details/47449495

如果使用一个IO流来进行图片读取带设置JLabel显示图形太麻烦,则可以直接将一个图形的路径传递到ImageIcon的实例化中,并使用JLabel类中对应的构造方法即可。

实例:使用图像路径实例化ImageIcon

图片:

位置:C:\Users\Administrator\Desktop\蓝精灵_Jc.jpg;

import java.awt.Dimension;

import java.awt.Color;

import java.awt.Font;

import java.awt.Point;

import javax.swing.JLabel;

import javax.swing.JFrame;

import javax.swing.Icon;

import javax.swing.ImageIcon;

public class JLabelDemo04

{

public static void main(String args[])

{

JFrame frame = new JFrame("通过图像路径实例化JLabel");

// 指定图片路径

String picPath = "C:\\Users\\Administrator\\Desktop\\蓝精灵_Jc.jpg";

// 实例化ImageIcon

Icon icon = new ImageIcon(picPath);

// 实例化标签对象

JLabel lab = new JLabel("通过图片路径来设置JLabel", icon, JLabel.CENTER);

// 初始化字体

Font fnt = new Font("Serief", Font.ITALIC + Font.BOLD, 16);

// 标签设置字体

lab.setFont(fnt);

// 这种标签字体颜色

lab.setForeground(Color.RED);

// 设置标签背景颜色

lab.setOpaque(true);

lab.setBackground(Color.PINK);

//把标签放到面板中

frame.add(lab);

Dimension dim = new Dimension();

dim.setSize(500, 300);

frame.setSize(dim);

Point point = new Point(100, 100); // 设置坐标

frame.setLocation(point);

frame.setVisible(true);

}

}

运行结果:

上面两种设置图片的方法都能试想效果,如果图像是从一个不确定的输入流(如数据库中读)中而来的,则使用使用第一中方法。如果图片是从文件中获取的,使用第二中方式,少了IO操作,会更加方便。

java gui jlabel_Java GUI编程4---标签组件JLabel相关推荐

  1. 06.JavaSwing(基础组件——JLabel类)

    软件界面是软件和用户之间的交流平台,而组件则是绘制软件界面的基本元素,是软件和用户之间的交流要素. 一.概述 JLabel组件用来显示文本和图像,可以只显示其一种,也可以同时显示.JLabel类提供了 ...

  2. 【JAVA】-- GUI用户界面设计(面板组件、文本组件、标签组件、按钮组件、下拉框组件)

    Swing中的组件:面板组件.文本组件.标签组件.按钮组件.下拉框组件. 一.面板组件 Swing组件中除了JFrame和JDialog这样的顶级容器,还提供了一些面板组件,面板组件不能单独存在,只能 ...

  3. Java基础班学习笔记(15)GUI图形界面编程

    1:如何让Netbeans的东西Eclipse能访问. 在Eclipse中创建项目,把Netbeans项目的src下的东西给拿过来即可. 注意:修改项目编码为UTF-8 2:GUI(了解) (1)用户 ...

  4. java 四则运算gui_结对编程-四则运算GUI的实现

    一.项目成员以及coding地址: 二.结对编程题目描述 在个人作业1中,用各种语言实现了一个命令行的四则运算小程序.进一步,本次要求把这个程序做成GUI,成为一个有基本功能.一定价值的程序.在下面的 ...

  5. Java开发:GUI编程

    本文针对GUI编程进行部分简述,实际开发工作中并不常用. 目录 一.GUI简介 二.AWT A.AWT介绍 B.Frame C.Panel面板 D.布局管理器 一.GUI简介 GUI(Graphica ...

  6. Java图形开发--GUI

    Java图形开发--GUI 1.图形用户界面(gui)介绍 图形用户界面(Graphics User Interface,GUI)是用户与程序交互的窗口,比命令行的界面更加直观并且更好操作. awt, ...

  7. Python升级之路( Lv11 ) GUI图形界面编程

    Python系列文章目录 第一章 Python 入门 第二章 Python基本概念 第三章 序列 第四章 控制语句 第五章 函数 第六章 面向对象基础 第七章 面向对象深入 第八章 异常机制 第九章 ...

  8. python编程基础:python 实现GUI(图形用户界面)编程详解

    今天小编就为大家分享一篇python 实现GUI(图形用户界面)编程详解,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 Python支持多种图形界面的第三方库,包括: wxWidge ...

  9. Java实验8 T1.编程包含一个标签和一个按钮,在“你好”和“再见”之间切换

    编程包含一个标签和一个按钮,单击按钮时,标签的内容在"你好"和"再见"之间切换.分别用本类(该类自身),外部类,内部类,匿名内部类,以及lambda表达式完成. ...

最新文章

  1. [唐诗]古风(其二十四)-李白
  2. mybatis_helloword(1)
  3. 军用软件概算计价规范_超强干货分享:547建筑工程计量与计价,帮你轻松掌握计量与计价...
  4. Qt网络编程——使用OpenCV与TCP搭建图像处理服务器
  5. 【Python基础】快速入门Python(讲解、习题)
  6. 计算机工程与应用 效率,多目标进化算法搜索鲁棒最优解效率研究-计算机工程与应用.PDF...
  7. 编程中的蛇形填空问题_PCB—蛇形线的作用,这次真的是把你搞懂了
  8. java gc 可达性_JAVA--GC 垃圾回收机制----可达性分析算法
  9. python读取数据集前十行_Python读取数据集并消除数据中的空行方法
  10. 微信“欲封”百度;AI 主播入职新华社;今日头条遭狠罚 | 极客头条
  11. python 如何判断一个三位数是不是水仙花数
  12. scratch优秀案例-双人足球对战赛
  13. 风变python多少钱_请问风变编程Python值得购买吗?
  14. win10 软路由_上网装置升级:软路由开箱体验+爱快系统体验
  15. 语音识别(ASR)论文优选:SynthASR: Unlocking Synthetic Data for Speech Recognition
  16. jquery的点击事件驱动获取值
  17. 网络安全基础——习题集
  18. HTML如何给网页添加ico图标?
  19. linux下配置调试debug
  20. 运维企业实战——RHCS集群套件 实现高可用

热门文章

  1. 在Unity中通过ScrollView实现背包物品展示后如何与指定背包物品的数据进行交互
  2. ESXi虚拟机NTP同步
  3. python执行cmd subprocess持续_Python subprocess 使用的几个小问题
  4. [贪心] 取数游戏(c++)
  5. 网站优化之三大标签正确写法
  6. 龙讯|LT8912B MIPI DSI转LVDS/HDMI/MHL
  7. linux学习笔记--命令
  8. vue中props的用法
  9. python脚本编写bat_推荐10个关于BAT脚本的实例教程
  10. 王者荣耀改空白名、重复名