Я пытаюсь научиться программировать, но мне кажется, что я застрял в этой нелегкой проблеме, но я не знаю, что делать дальше, не могли бы вы мне помочь?
IСоздаю простую программу для еды, когда вы выбираете Object из JList и затем нажимаете JButton eat, он должен добавить текущие «точки» объектов, представленные значением int, в индикатор выполнения между 0-100.Это работает только для .getSelectedindex (0), но когда я выбираю любой из других объектов в списке и нажимаю "съесть", он не добавит точки int на индикатор выполнения.
Здесь ниже приведен коднаписано до сих пор.
eat.addActionListener(this);
List<Food> listan = new ArrayList<>();
String[] foodnames = new String[4];
listan.add(new Food("Beef",35,2));
listan.add(new Food("Potato",4,5));
listan.add(new Food("Vegetable",1,5));
listan.add(new Food("Water",0,2));
foodnames[0]=listan.get(0).getName();
foodnames[1]=listan.get(1).getName();
foodnames[2]=listan.get(2).getName();
foodnames[3]=listan.get(3).getName();
listantvå = new JList<String>(foodnames);
listantvå.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
public void actionPerformed(ActionEvent e) {
if(e.getSource()==eat && listantvå.getSelectedIndex()==0) {
pb.setValue(pb.getValue()+listan.get(0).getFullp());
listan.get(0).setQuantity(listan.get(0).getQty()-1);
if(listan.get(0).getQty()<=0) {
listan.get(0).setFullP(0);
}
else if(e.getSource()==eat && listantvå.getSelectedIndex()==1) {
pb.setValue(pb.getValue()+listan.get(1).getFullp());
listan.get(1).setQuantity(listan.get(1).getQty()-1);
if(listan.get(1).getQty()<=0) {
listan.get(1).setFullP(0);
}