java中,我将JList添加到Frame布局中,但是,刚刚开始初始化的时候,JList
java中,我将JList添加到Frame布局中,但是,刚刚开始初始化的时候,JList里面我没有添加数据,于是它就不显示出来,后来添加了数据它才显示出来。有没有什么办法...
java中,我将JList添加到Frame布局中,但是,刚刚开始初始化的时候,JList里面我没有添加数据,于是它就不显示出来,后来添加了数据它才显示出来。有没有什么办法让JList即使没有数据也可以显示出来??
没有人回答么?急 展开
没有人回答么?急 展开
展开全部
JList里面没有添加数据,也可以在Frame布局中显示出来,只不过有时小一些,如果你把JList里面放一个由多个空格组成的字符串,就可以让JList几乎正常显示,我给你个Java语言的例子,你看看吧.
import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JList;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
public class MyListTest extends Frame implements ListSelectionListener{
String [] str ={" "};
JList list = new JList(str);
MyListTest(){
this.setSize(200, 200);
this.setLayout(new BorderLayout());
this.add(list,"Center");
list.addListSelectionListener(this);
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
this.setVisible(true);
}
public static void main(String [] args){
new MyListTest();
}
@Override
public void valueChanged(ListSelectionEvent e) {
if(e.getSource()==list)
if(e.getValueIsAdjusting()==true){
System.out.println(list.getSelectedValue());
}
}
}
追问
我也想过这样,我觉得不是很妥当。😁
追答
你把有一个空字符串的JList放在Frame上,有数据的时候再填充它,填充它之前都会removeAll();
删除JList的全部选项,不会影响你的程序,JList的大小也与填充数据后的大小差不多,所以,一般开发都会这么做,除非你没有数据时,显示"no data"或者"请选择"在JList上.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询