Java Swing JList

Я использую JList в Java Swing, но когда мое Диалоговое окно открывается, Список не показывают.

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 (/панель)

public fensterdrei(Frame owner) {
  super(owner);
  initialize();
  }

вызов кода getJContentPane():

private void initialize() {
      this.setSize(300, 200); 
      this.setContentPane(getJContentPane()); 
      this.setTitle("Auswahl"); 
} 
5
задан akf 25 January 2010 в 18:21
поделиться

3 ответа

Я не могу найти, где вы устанавливаете модель JLIST?

Что-то вроде

mylist = new JList();    
mylist.setModel(model);

, пожалуйста, посмотрите на конвенции кода для языка программирования Java

Fensterdrei вместо Fensterdrei
MyList вместо MyList

8
ответ дан 18 December 2019 в 14:46
поделиться

Это GetContentPane не GetjcontentPane, и вы не должны перегружать его.

вместо этого, в вашем конструкторе (или другой функции, которая сразу называется), вы

getContentPane().setLayout(new BorderLayout());
getContentPane().add(getJList(), BorderLayout.CENTER);
4
ответ дан 18 December 2019 в 14:46
поделиться

Чтобы ответить на ваш вопрос, мне нужно будет посмотреть код, который вызывает getjcontentpane, чтобы убедиться, что вы на самом деле добавляете, что jpanel где-то где-то. Мне также нужно будет посмотреть, назначили ли вы что-то JContentPane, поскольку вы добавляете только список, если эта панель нуль.

Я думаю, что вы на самом деле не добавляете возвращенную панель в диалоговое окно или что JContentPane был назначен ненулью значение.

Вызов mylist.setfisible (true) не имеет смысла, поскольку он еще не добавляется в окно. Когда диалог сделан видимым, все его дети будут видимыми.

1
ответ дан 18 December 2019 в 14:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: