Вопрос
Я использую 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");
}
Решение
Я не могу найти, где вы устанавливаете модель JList?
Что-то типа
mylist = new JList();
mylist.setModel(model);
Пожалуйста, посмотрите на Кодовые конвенции для языка программирования Java
FensterDrei
вместо fensterdrei
myList
вместо mylist
Другие советы
Я сделал это.Я запутался с прохождением образа к виду. Вот как это работает.
var image = UIImage.FromFile("image.png");
var small = image.Scale (new SizeF (35f, 35f));
UIImageView imageView = new UIImageView(small)
NavigationItem.TitleView = imageView;
. Чтобы ответить на ваш вопрос, мне нужно увидеть код, который вызывает getJcontentPane, чтобы убедиться, что вы на самом деле добавляете эту JPanel где -то. Мне также нужно было посмотреть, назначили ли вы что -то JcontentPane, поскольку вы добавите список только в том случае, если эта панель нуль.
Я предполагаю, что вы на самом деле не добавляете возвращенную панель в диалог или что JcontentPane было назначено не нулевое значение.
Призыв к mylist.setvisible (true) не имеет смысла, поскольку он еще не добавляется в окно. Когда диалог станет видимым, все его дети также станут видимыми.