Вот вещь:Java: Получить список <> элементы из одного класса в JComboBox другого класса
Я создал программное обеспечение «cocktailbar», и у меня есть следующие классы:
- коктейль,
- CocktailBar,
- CreateNewCPanel,
- HelloPanel,
- SearchCPanel,
- ShowAllCPanel,
- CocktailMixerGUI,
- Состав.
Сейчас: При добавлении нового Cocktail
в CreateNewCPanel
, добавить коктейль в список в CocktailBar
классе.
Box buttonBox = Box.createHorizontalBox();
JButton speicherButton = new JButton("Speichern");
speicherButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
neuerC.setCName(cName.getText());
neuerC.fuegeZubereitungHinzu(zubereitungTextArea.getText());
CocktailBar.addCocktail(neuerC);
Теперь мне нужно, чтобы увидеть все созданные коктейли в меню «выпадающего» в ShowAllCPanel
. Я получил следующее:
//Adding the DropDown Menu, first a Box, then a ComboBox inside.
Box cDropDownBox = Box.createHorizontalBox();
cDropDownBox.add(Box.createHorizontalGlue());
JComboBox cChoose = new JComboBox();
groesseEinsetzen(cChoose, 500, 20);
cChoose.setAlignmentX(SwingConstants.LEFT);
cDropDownBox.add(cChoose);
Но теперь мне интересно, как я могу получить свой список из CocktailBar
класса в ShowAllCPanel
?
редактировать: забыл упомянуть: у меня есть геттер в классе CocktailBar, и я уже пробовал:
cChoose.addItem(CocktailBar.getCocktails());
в COMBOBOX в ShowAllCPanel, но он не показывает что-нибудь в выпадающем списке.
благодаря @Do Re, я подставила:
//Adding the DropDown Menu, first a Box, then a ComboBox inside.
Box cDropDownBox = Box.createHorizontalBox();
cDropDownBox.add(Box.createHorizontalGlue());
JComboBox cChoose = new JComboBox();
if (CocktailBar.getCocktails() != null){
for (Cocktail c : CocktailBar.getCocktails())
cChoose.addItem(c);
}
, но все же - при запуске, выпадающий список остается пустым.
есть ваш пытались createing в 'getter'for список? –
Да, я забыл упомянуть, что ... я попробовал: cChoose.addItem (CocktailBar.getCocktails()); но он, похоже, не работает –
Что делает 'getCocktails()' return? Какая ошибка? –