Forumdelen sponsras av

Varför skrivs inte texten ut? (interface i java)

Trädvy Permalänk
Medlem
Registrerad
Mar 2018

Varför skrivs inte texten ut? (interface i java)

JButton btnFindCustomer = new JButton("Hitta kort"); //Hittar och returnerar en String av kund. btnFindCustomer.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String cNumberFind = customerNbrTextField.getText(); { String [] aCust = controller.findCustomerString(cNumberFind); //hitta en kund av typen costumer //instansiera en variabel String array if (aCust !=null && aCust.length==4) { //om kunden finns... lblNewKund.setText("Kort hittat"); if (aCust.length==4) { customerNbrTextField.setText(aCust[0]); customerNameTextField.setText(aCust[1]); cardTypeTextField.setText(aCust[2]); CardNbrTextField.setText(aCust[3]); }else lblNewKund.setText("Kort ej hittat");{

ovan visar koden till interfacet.

public String[] findCreditCardString(String creditCardNbr) { //returnerar string av creditcard Creditcard card; String[] aCard = null; card = creditcardRegister.findCreditCard(creditCardNbr); { if (card != null && card.getOwner() !=null) { aCard = new String[4]; aCard[0] = card.getCardNumber(); aCard[1] = card.getType(); aCard[2] = card.getOwner().getCName(); aCard[3] = card.getOwner().getCNumber();

och här står koden som finns i controllern.

När jag trycker på "hitta kort" i programmet så har jag nyss tagit bort både kund och kort för den inskrivna kunden. Inget dyker alltså upp när jag söker på den tidigare kunden. Så varför skrivs inte "kort hittades ej" texten ut?

Trädvy Permalänk
Medlem
Registrerad
Jan 2005

Din nästling ser lite konstig ut i slutet. Din else är väl kopplad till den andra if satsen?

if (aCust !=null && aCust.length==4) { //om kunden finns... lblNewKund.setText("Kort hittat"); if (aCust.length==4) { customerNbrTextField.setText(aCust[0]); customerNameTextField.setText(aCust[1]); cardTypeTextField.setText(aCust[2]); CardNbrTextField.setText(aCust[3]); }else lblNewKund.setText("Kort ej hittat");{

Om du tar bort kund och kort så är väl aCust null och därav kommer du inte till

}else lblNewKund.setText("Kort ej hittat");{

Så ungefär såhär kanske?

if (aCust !=null && aCust.length==4) { //om kunden finns... lblNewKund.setText("Kort hittat"); if (aCust.length==4) { customerNbrTextField.setText(aCust[0]); customerNameTextField.setText(aCust[1]); cardTypeTextField.setText(aCust[2]); CardNbrTextField.setText(aCust[3]); } }else lblNewKund.setText("Kort ej hittat");{