Pergunta

Eu estou usando um JList em Java Swing, mas quando a minha caixa de Diálogo se abre, a Lista não é mostrado.

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;
 }

A lista é definida:

private JPanel getJContentPane() {
  if (jContentPane == null) {
   jContentPane = new JPanel();
   jContentPane.setLayout(new BorderLayout());
   jContentPane.add(getJList(), BorderLayout.CENTER);

  }
  return jContentPane;
 }

É um JContentPane (/Painel)

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

o código de chamada getJContentPane():

private void initialize() {
      this.setSize(300, 200); 
      this.setContentPane(getJContentPane()); 
      this.setTitle("Auswahl"); 
} 
Foi útil?

Solução

Não consigo encontrar onde você está definindo o modelo do JLIST?

Algo como

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

Por favor, dê uma olhada no Convenções de código para a linguagem de programação Java

FensterDreiao invés de fensterdrei
myListao invés de mylist

Outras dicas

É getContentPane não getJContentPane, e Você não deve sobrepor-se.

Em vez disso, em seu construtor (ou outra função que é chamada imediatamente) fazer

getContentPane().setLayout(new BorderLayout());
getContentPane().add(getJList(), BorderLayout.CENTER);

Para responder à sua pergunta, eu precisaria ver o código que chama o GetJContentPane para garantir que você esteja adicionando esse JPanel em algum lugar. Eu também precisaria ver se você atribuiu algo ao JContentPane, pois adiciona apenas a lista se esse painel for nulo.

Meu palpite é que você não está adicionando o painel retornado à caixa de diálogo ou que o JContentPane recebeu um valor não nulo.

A chamada para mylist.setVisible (true) não faz sentido, pois ainda não foi adicionada a uma janela. Quando uma caixa de diálogo for visível, todos os seus filhos também serão visíveis.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top