alltolove 发表于 2017-9-3 08:29:29

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]
查看完整版本: JLabel控件的使用(一)