JList不能显示的问题!急!!!

[复制链接]
查看11 | 回复1 | 2010-12-9 00:00:18 | 显示全部楼层 |阅读模式
不知道为什么我在一个jframe里面设置了setLayout(null)之后jpanel里的JList就显示不出来了!以下是一个测试例子:
import javax.swing.*;
public class TestJList {
JFrame jf = new JFrame();
JPanel jp = new JPanel();
String[] data = { "1", "2", "3", "4", "5" ,"6","7","8"};
JList jl1 = new JList(data);
DefaultListModel dlm = new DefaultListModel();
JList jl2 = new JList(dlm);
JScrollPane jsp1 = new JScrollPane(jl1);
JScrollPane jsp2 = new JScrollPane(jl2);
public TestJList() {
jf.setSize(300, 200);
jf.setContentPane(jp);
jf.setResizable(false);
-------->>>jf.setLayout(null);//去掉就能显示了????
jl1.setFixedCellWidth(100);
jl2.setFixedCellWidth(100);
jl1.setVisibleRowCount(5);// 设置可视项数
jl2.setVisibleRowCount(5);
dlm.addElement("String");// 调用addElement来添加元素
dlm.addElement("Character");
dlm.addElement("Delete");
dlm.removeElement("Delete");// 删除Delete元素,返回一个boolean量
dlm.removeElementAt(1);// 删除位于指定位置下的元素,范围是0到n-1
jp.add(jsp1);
jp.add(jsp2);
jp.add(new JLabel("abcd"));
jf.setVisible(true);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new TestJList();
}
}
我需要jpanel和jframe都seylayout(null)显示不出来是什么原因??感激。。。
实在不好意思,我昨天晚上刚发上问题就发现我忘写setBounds了,于是我主程序也能显示了,但是我原来的用的不是JList,是直接一个List然后放在JScrollPane里了,然后把JScrollPane放在Jframe显示出来很正常,但是JScrollPane加到panel里再加到frame里就变成灰色的了,这是为什么??那个setBounds也都设置了,我无奈就改用了JList,哎,这问题刚发了就后悔了,没问在点上。。。。>__<,要没有人回答分就给那296450xxx了。。。

回复

使用道具 举报

千问 | 2010-12-9 00:00:18 | 显示全部楼层
因为jf.setLayout(null);后添加jsp1和jsp2,需要知道添加的位置和大小在构造方法中加入下面二句jsp1.setBounds(20, 10, 110, 120);jsp2.setBounds(140, 10, 110, 120);
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行