|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
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类的函数给自己多加了一项功能 |
|