注册 登录
编程论坛 JAVA论坛

对JLabel 设置大小

不落夕阳 发布于 2017-05-11 20:44, 8701 次点击
package

import javax.swing.JFrame;
import javax.swing.JLabel;

import java.awt.Font;

import javax.swing.*;

public class ChaiFen extends JFrame{
    JLabel bq=null;
    public static void main(String args[]){
        ChaiFen a=new ChaiFen();
    }
    public ChaiFen(){
        String[] sj={"ruaijankai","liufei","dabi","yello","me"};
        JList lb=new JList(sj);
        bq=new JLabel(new ImageIcon("Picture/me.jpg"));
        bq.setSize(100,200);//                              这句话怎么没用啊------------------------------------------------------------------
        JSplitPane cf=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,lb,bq);
        cf.setOneTouchExpandable(true);//搜索左右两个部分。
        this.add(cf);
        this.setTitle("hello");
        this.setLocation(200,180);
        this.setSize(600, 500);
        this.setVisible(true);
        this.setResizable(false);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
    }
}
4 回复
#2
凌风zx2017-05-11 21:20
以前遇到过这样的问题,位置、大小不能设置,查了好久说是布局的问题
java的容器都有一个默认的布局,如果要自定义布局
cf.setLayout(null);
这样每个控件的位置都要自己定义了
#3
zsh9810229842017-05-11 21:30
因为JFrame容器默认边界布局管理,会自动填充整个容器,所以设置大小在这没用
你可以调用setLayout(null)取消容器布局管理,在用setBounds()设置标签大小位置
#4
不落夕阳2017-05-11 23:16
回复 2楼 凌风zx
好的下来试试
#5
不落夕阳2017-05-11 23:16
回复 3楼 zsh981022984
嗯,我试试,谢谢
1