這裏的東西:的Java:獲取列表<>從一個類項目到JComboBox的另一個類
我創建了一個「cocktailbar」軟件,我有以下類:
- 雞尾酒,
- CocktailBar,
- CreateNewCPanel,
- HelloPanel,
- SearchCPanel,
- ShowAllCPanel,
- CocktailMixerGUI,
- 成分。
現在:當CreateNewCPanel
添加新Cocktail
,我雞尾酒添加到在CocktailBar
類的List。
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());
在ShowAllCPanel下拉框中內,但它不顯示在下拉任何東西。
感謝@Do回覆,我插入這樣的:
//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()返回什麼?錯誤是什麼? –