您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
【第18章:图形界面】_标签组件:JLabel
发布时间:2021-01-14 17:49:16编辑:雪饮阅读()
用Jlabel实现一个简单的标签
import javax.swing.JFrame;
import java.awt.Dimension ;
import java.awt.Point ;
import javax.swing.JLabel ;
public class Hello{
public static void main(String args[]) throws Exception{
JFrame frame = new JFrame("Welcome To kasumi") ;
//创建一个标签,设定一个标题,设定标签在其父级容器中以居中显示
JLabel lab = new JLabel("kasumi",JLabel.CENTER) ;
//标签添加到frame窗体中
frame.add(lab) ;
Dimension dim = new Dimension() ;
dim.setSize(500,70) ;
frame.setSize(dim) ;
Point point = new Point(300,200) ;
frame.setLocation(point) ;
frame.setVisible(true) ;
}
};
用Font给Jlabel标签设置字体
import javax.swing.JFrame;
import java.awt.Dimension ;
import java.awt.Point ;
import javax.swing.JLabel ;
import java.awt.Font ;
public class Hello{
public static void main(String args[]) throws Exception{
JFrame frame = new JFrame("Welcome To kasumi") ;
JLabel lab = new JLabel("kasumi",JLabel.CENTER) ;
//获取一个字体实例 字体类别Serief, 斜体,加粗,字体大小28
Font fnt = new Font("Serief",Font.ITALIC + Font.BOLD,28) ;
//将字体实例应用于标签上
lab.setFont(fnt) ;
frame.add(lab) ;
Dimension dim = new Dimension() ;
dim.setSize(500,70) ;
frame.setSize(dim) ;
Point point = new Point(300,200) ;
frame.setLocation(point) ;
frame.setVisible(true) ;
}
};
用GraphicsEnvironment获取所有可用字体类别
import java.awt.GraphicsEnvironment ;
public class Hello{
public static void main(String args[]) throws Exception{
String fontNames[] = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames() ;
for(int x=0;x<fontNames.length;x++){
System.out.println(fontNames[x]) ;
}
}
};
D:\>javac Hello.java
D:\>java Hello
Arial
Arial Black
Bookshelf Symbol 7
Calibri
Calibri Light
Cambria
Cambria Math
Candara
Candara Light
Comic Sans MS
Consolas
Constantia
Corbel
Corbel Light
Courier New
DejaVu Sans Mono
Dialog
DialogInput
Ebrima
Franklin Gothic Medium
Gabriola
Gadugi
Georgia
HoloLens MDL2 Assets
Impact
Ink Free
Javanese Text
Leelawadee UI
Leelawadee UI Semilight
Lucida Bright
Lucida Console
Lucida Sans
Lucida Sans Typewriter
Lucida Sans Unicode
Malgun Gothic
Malgun Gothic Semilight
Marlett
Microsoft Himalaya
Microsoft JhengHei
Microsoft JhengHei Light
Microsoft JhengHei UI
Microsoft JhengHei UI Light
Microsoft New Tai Lue
Microsoft PhagsPa
Microsoft Sans Serif
Microsoft Tai Le
Microsoft YaHei UI
Microsoft YaHei UI Light
Microsoft Yi Baiti
MingLiU-ExtB
MingLiU_HKSCS-ExtB
Mongolian Baiti
Monospaced
MS Gothic
MS PGothic
MS Reference Specialty
MS UI Gothic
MT Extra
MV Boli
Myanmar Text
Nirmala UI
Nirmala UI Semilight
Palatino Linotype
PMingLiU-ExtB
SansSerif
Segoe MDL2 Assets
Segoe Print
Segoe Script
Segoe UI
Segoe UI Black
Segoe UI Emoji
Segoe UI Historic
Segoe UI Light
Segoe UI Semibold
Segoe UI Semilight
Segoe UI Symbol
Serif
SimSun-ExtB
Sitka Banner
Sitka Display
Sitka Heading
Sitka Small
Sitka Subheading
Sitka Text
Sylfaen
Symbol
Tahoma
Times New Roman
Trebuchet MS
Verdana
Webdings
Wingdings
Yu Gothic
Yu Gothic Light
Yu Gothic Medium
Yu Gothic UI
Yu Gothic UI Light
Yu Gothic UI Semibold
Yu Gothic UI Semilight
仿宋
宋体
微软雅黑
微软雅黑 Light
新宋体
楷体
等线
等线 Light
黑体
用Icon实现Jlabel标签设置图片背景
import javax.swing.Icon ;
import javax.swing.ImageIcon ;
import java.io.File ;
import java.io.FileInputStream ;
import java.io.InputStream ;
import java.awt.Dimension ;
import java.awt.Point ;
import java.awt.Color ;
import javax.swing.JLabel ;
import javax.swing.JFrame ;
public class Hello{
public static void main(String args[]) throws Exception{
JFrame frame = new JFrame("Welcome To kasumi") ;
//通过文件输入流获取一个图片并创建一个图片组件
String picPath = "d:" + File.separator + "kasumi.png" ;
File file = new File(picPath) ;
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) ;
//创建标签并将图片组件应用于该标签
JLabel lab = new JLabel("kasumi",icon,JLabel.CENTER) ;
frame.add(lab) ;
Dimension dim = new Dimension() ;
dim.setSize(300,160) ;
frame.setSize(dim) ;
Point point = new Point(300,200) ;
frame.setLocation(point) ;
frame.setVisible(true) ;
}
}
用Color设置Jlabel的前景色、背景色
import java.awt.Dimension ;
import java.awt.Point ;
import java.awt.Color ;
import javax.swing.JLabel ;
import javax.swing.JFrame ;
public class Hello{
public static void main(String args[]) throws Exception{
JFrame frame = new JFrame("Welcome To kasumi") ;
JLabel lab = new JLabel("kasumi",JLabel.CENTER) ;
//标签前景色
lab.setForeground(Color.RED) ;
//标签背景色
lab.setBackground(Color.YELLOW) ;
frame.add(lab) ;
Dimension dim = new Dimension() ;
dim.setSize(300,160) ;
frame.setSize(dim) ;
Point point = new Point(300,200) ;
frame.setLocation(point) ;
frame.setVisible(true) ;
}
};
好像就是前景色生效了,背景色没有生效,其实这与层级遮罩间的关系有关联。
ImageIcon实现免io流设置Jlabel图片背景
import java.awt.Dimension ;
import java.awt.Point ;
import java.awt.Color ;
import javax.swing.JLabel ;
import javax.swing.JFrame ;
import javax.swing.Icon ;
import javax.swing.ImageIcon ;
import java.io.File ;
public class Hello{
public static void main(String args[]) throws Exception{
JFrame frame = new JFrame("Welcome To kasumi") ;
String picPath = "d:" + File.separator + "kasumi.png" ;
//ImageIcon类有不同的构造重载,其中有一种可以直接接收文件路径的方式来实例化一个ICON组件,无需手动编写文件输入流实现
Icon icon = new ImageIcon(picPath) ;
JLabel lab = new JLabel("kasumi",icon,JLabel.CENTER) ;
frame.add(lab);
Dimension dim = new Dimension() ;
dim.setSize(300,160) ;
frame.setSize(dim) ;
Point point = new Point(300,200) ;
frame.setLocation(point) ;
frame.setVisible(true) ;
}
};
关键字词:java,JLabel