我会在这里大肆宣传。
我认为当它打开时,它应该显示数据库中的每一种饮料,并在屏幕上显示。
还必须添加+
按钮,旁边的金额标签和-
按钮。这应该针对每个项目进行。
顺便说一句,我收到这些项目的表格称为dhh_item
。
现在,我已经得到了这个:
public ArrayList<Item> getBeverages(Item item) {
ArrayList<Item> items = new ArrayList<>();
if (item != null) {
// First open a database connnection
DatabaseConnection connection = new DatabaseConnection();
if (connection.openConnection()) {
// If a connection was successfully setup, execute the SELECT statement.
ResultSet resultset = connection.executeSQLSelectStatement(
"SELECT * FROM dhh_item ");
if (resultset != null) {
try {
while (resultset.next()) {
String itemName = resultset.getString("itemName");
String status = resultset.getString("status");
String description = resultset.getString("description");
int price = resultset.getInt("price");
Item newItem = new Item(itemName, status, description, price);
items.add(newItem);
}
} catch (SQLException e) {
System.out.println(e);
items.clear();
}
}
// else an error occurred leave array list empty.
// We had a database connection opened. Since we're finished,
// we need to close it.
connection.closeConnection();
}
}
return items;
}
这是否正确无误。我会检索任何数据吗? (.getString()
&#39}是正确的。)
现在,此方法位于另一个Class(ItemDAO)中。
我可以从我的观点中这样说吗?如何让它为每个制作一个新的标签+按钮?
非常感谢那些可以帮助我解决这个问题的人!
最后,它应该是这样的:
表中的每种饮料。
答案 0 :(得分:0)
听起来相当直白
Collection<Item> items=dao.getBeverages(someItem) // get all items
for(Item item:items){
label=new JLabel(item.getYourItemNameOrLabelOrhatever) // this will be the "coca-cola"
incButton=new JButton(incrementButtonAction); // craete/get some action
decButton=new JButton(decrementButtonAction); // same here
counter=new JLabel("0");
yourContainer.add(label);
yourContainer.add(incButton);
yourContainer.add(label);
yourContainer.add(decButton);
yourContainer.revalidate();
}