[英]Java Swing JList
我在Java Swing中使用JList,但是當我的Dialog打開時,List沒有顯示。
private JList getJList() {
if (mylist == null) {
mylist = new JList();
mylist.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
mylist.setSize(new Dimension(154, 106));
model.addElement("test");
model.addElement("zwei");
mylist.setVisible(true);
}
return mylist;
}
列表定義如下:
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(getJList(), BorderLayout.CENTER);
}
return jContentPane;
}
這是一個JContentPane(/ Panel)
public fensterdrei(Frame owner) {
super(owner);
initialize();
}
調用getJContentPane()
的代碼:
private void initialize() {
this.setSize(300, 200);
this.setContentPane(getJContentPane());
this.setTitle("Auswahl");
}
它的getContentPane不是getJContentPane,你不應該重載它。
相反,在您的構造函數(或其他立即調用的函數)中,您可以
getContentPane().setLayout(new BorderLayout());
getContentPane().add(getJList(), BorderLayout.CENTER);
要回答你的問題,我需要看到調用getJContentPane的代碼,以確保你實際上在某處添加了JPanel。 我還需要查看你是否已經為jContentPane分配了一些內容,因為如果該面板為null,則只添加列表。
我的猜測是,您實際上並未將返回的面板添加到對話框中,或者已為jContentPane指定了非空值。
對myList.setVisible(true)的調用沒有任何意義,因為它尚未添加到Window中。 當對話框可見時,其所有子對象也將變為可見。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.