From da977ffa778d5bda4bba4d0f36db602ae1384b3c Mon Sep 17 00:00:00 2001 From: cirakg Date: Sun, 8 Jan 2023 21:09:27 +0100 Subject: Ispravljen edge case za obradu izlaska korisnika iz aplikacije. Dodati tooltip-ovi na desktop aplikaciji. --- src/main/java/pokemon/Server.java | 2 ++ src/main/java/ui/ChooseOpponentPanel.java | 5 +++++ src/main/java/ui/GamePanel.java | 7 +++++++ src/main/java/ui/LoginPanel.java | 6 +++++- src/main/java/ui/OpponentConfirmation.java | 7 +++++++ 5 files changed, 26 insertions(+), 1 deletion(-) (limited to 'src/main') diff --git a/src/main/java/pokemon/Server.java b/src/main/java/pokemon/Server.java index 8292281..12d3d15 100644 --- a/src/main/java/pokemon/Server.java +++ b/src/main/java/pokemon/Server.java @@ -90,6 +90,8 @@ public class Server implements Runnable { } private void leftGame(SocketChannel sc)throws Exception { + if(!players.containsKey(sc)) + return; long id=players.get(sc); Game game=null; for(Game tempGame :games) { diff --git a/src/main/java/ui/ChooseOpponentPanel.java b/src/main/java/ui/ChooseOpponentPanel.java index c318aaf..b5d0b6b 100644 --- a/src/main/java/ui/ChooseOpponentPanel.java +++ b/src/main/java/ui/ChooseOpponentPanel.java @@ -43,6 +43,11 @@ public class ChooseOpponentPanel extends JPanel { comboBox.setBounds(134, 101, 166, 22); add(comboBox); + JLabel lblToolTip = new JLabel("(?)"); + lblToolTip.setBounds(330, 105, 27, 14); + lblToolTip.setToolTipText("Izbor protivnika. Lista se refreshuje svaki put kada se korisnik prijavi na sistem,
zapocne nova igra, zavrsi igra, igrac izadje iz igrice."); + add(lblToolTip); + btnSendGameRequest.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if(comboBox.getItemCount()==0) diff --git a/src/main/java/ui/GamePanel.java b/src/main/java/ui/GamePanel.java index e863ea0..e16482d 100644 --- a/src/main/java/ui/GamePanel.java +++ b/src/main/java/ui/GamePanel.java @@ -55,6 +55,7 @@ public class GamePanel extends JPanel { public MonsterViewModel yourMonster=null; public MonsterViewModel enemyMonster=null; public JButton btnBack; + private JLabel lblToolTip; /** * Create the panel. @@ -184,6 +185,12 @@ public class GamePanel extends JPanel { btnBack.setBounds(353, 276, 188, 23); btnBack.setVisible(false); add(btnBack); + + lblToolTip = new JLabel("(?)"); + lblToolTip.setBounds(180, 105, 23, 14); + lblToolTip.setToolTipText("Igra
Korisnici se bore po potezima. Koristeci izabrane napade
Prikazane su sve potrebne informacije za vodjenje igre.
Korisnici mogu koristiti chat za komunikaciju.
Po zavrsetku igre korisnici dobijaju obavestenje o rezultatu igre i
opciju da se vrate na stranicu za biranje protivnika"); + add(lblToolTip); + add(lblToolTip); } public void sendChat() { diff --git a/src/main/java/ui/LoginPanel.java b/src/main/java/ui/LoginPanel.java index 06a9099..adc6f78 100644 --- a/src/main/java/ui/LoginPanel.java +++ b/src/main/java/ui/LoginPanel.java @@ -72,6 +72,11 @@ public class LoginPanel extends JPanel { }); btnLogIn.setBounds(174, 181, 81, 23); add(btnLogIn); + + JLabel lblToolTip = new JLabel("(?)"); + lblToolTip.setBounds(338, 106, 25, 14); + lblToolTip.setToolTipText("Prijavljivanje korisnika.
Polja ne smeju biti prazna i unos mora biti alfanumericki.
Ukoliko korisnik nema izabranog pokemona nije mu dozvoljeno da se prijavi "); + add(lblToolTip); } @@ -103,5 +108,4 @@ public class LoginPanel extends JPanel { e.printStackTrace(); } } - } diff --git a/src/main/java/ui/OpponentConfirmation.java b/src/main/java/ui/OpponentConfirmation.java index d0c2a95..9e38b52 100644 --- a/src/main/java/ui/OpponentConfirmation.java +++ b/src/main/java/ui/OpponentConfirmation.java @@ -19,6 +19,7 @@ public class OpponentConfirmation extends JPanel { public JButton btnAccept; public JButton btnRefuse; public long opponentId; + private JLabel lblToolTip; public OpponentConfirmation() { setLayout(null); @@ -64,6 +65,12 @@ public class OpponentConfirmation extends JPanel { }); btnRefuse.setBounds(214, 194, 89, 23); add(btnRefuse); + + lblToolTip = new JLabel("(?)"); + lblToolTip.setBounds(249, 41, 24, 14); + lblToolTip.setToolTipText("Ukoliko korisnik salje zahtev drugom korisniku za igru on ceka na odgovor korisnika
Ukoliko korisnik prima zahtev za igru od drugog korisnika
on odgovara na taj zahtev prihvacanjem igre ili odbijanjem "); + add(lblToolTip); + add(lblToolTip); } public long getOpponentId() { -- cgit v1.2.3