JLabel控件的使用(一)
JLabel控件不但可以显示文字还可以显示图片,代码如下:import javax.swing.*;
import java.awt.Font;
class HelloWorld extends JFrame{
private JPanel jp;
private JLabel jl;
public static void main(String args[]){
HelloWorld jf = new HelloWorld();
jf.setVisible(true);
}
HelloWorld(){
setBounds(100,100,450,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jp = new JPanel();
Font helv14b = new Font("Helvetica", Font.BOLD, 14);
jl = new JLabel("你好");
jl.setIcon(new ImageIcon("./logo.png"));//设置图片
jl.setFont(helv14b);
jp.add(jl);
setContentPane(jp);
}
}
效果图:
因为“你好”2字是中文,所以如果你的编辑器是utf-8的编码,编译的时候要指定编码:javac -encoding utf-8 HelloWorld.java
默认的是GBK格式,在注释里的中文也必须指定编码。
在jl.setIcon(new ImageIcon("./logo.png"));这句话里是传一个对象进去,这是java语法里的装饰设计模式,我们先建一个类,实现原理如下列代码:
class Decorating{
Decorating(A a){
System.out.println("this is Decrating");
a.a();
}
public static void main(String args[]){
Decorating dec = new Decorating(new A());
}
}
然后在同个目录里再建个A类:
class A{
void a(){
System.out.println("this is A");
}
}
下图为实现效果:
这样就相当于用A类的函数给自己多加了一项功能
页:
[1]