diff options
Diffstat (limited to 'src/main/java/ui')
-rw-r--r-- | src/main/java/ui/ChooseOpponentPanel.java | 66 | ||||
-rw-r--r-- | src/main/java/ui/LoginPanel.java | 4 | ||||
-rw-r--r-- | src/main/java/ui/MainFrame.java | 13 |
3 files changed, 65 insertions, 18 deletions
diff --git a/src/main/java/ui/ChooseOpponentPanel.java b/src/main/java/ui/ChooseOpponentPanel.java index e508f6e..1b63fca 100644 --- a/src/main/java/ui/ChooseOpponentPanel.java +++ b/src/main/java/ui/ChooseOpponentPanel.java @@ -1,25 +1,81 @@ package ui; import javax.swing.JPanel; +import javax.swing.JLabel; +import javax.swing.JTextField; +import javax.swing.SwingUtilities; + +import models.ComboBoxUser; +import models.User; +import models.UserListWrapper; + +import javax.swing.JTextArea; +import java.awt.SystemColor; +import java.awt.Font; +import java.awt.BorderLayout; +import java.awt.Color; import javax.swing.JButton; import javax.swing.JComboBox; +import javax.swing.JFrame; + +import java.awt.event.ActionListener; +import java.beans.XMLDecoder; +import java.io.ByteArrayInputStream; +import java.nio.ByteBuffer; +import java.nio.channels.SocketChannel; +import java.util.ArrayList; +import java.util.List; +import java.awt.event.ActionEvent; public class ChooseOpponentPanel extends JPanel { - /** - * Create the panel. - */ + JButton btnSendGameRequest; + JComboBox comboBox; public ChooseOpponentPanel() { setLayout(null); - JButton btnSendGameRequest = new JButton("Send Game Request"); + btnSendGameRequest = new JButton("Send Game Request"); btnSendGameRequest.setBounds(134, 153, 166, 23); add(btnSendGameRequest); - JComboBox comboBox = new JComboBox(); + comboBox = new JComboBox(); comboBox.setBounds(134, 101, 166, 22); add(comboBox); } + + public void getUsers() { + MainFrame topFrame=(MainFrame) SwingUtilities.getAncestorOfClass(MainFrame.class, ChooseOpponentPanel.this); + try { + SocketChannel client=topFrame.getClient(); + ByteBuffer readBuffer=topFrame.getReadBuffer(); + ByteBuffer buff = ByteBuffer.wrap("REQUESTUSERS".getBytes()); + client.write(buff); + client.configureBlocking(true); + readBuffer.clear(); + StringBuilder sb=new StringBuilder(); + while(client.read(readBuffer)>0) { + System.out.println("uslo"); + readBuffer.flip(); + byte[] bytes = new byte[readBuffer.limit()]; + readBuffer.get(bytes); + sb.append(new String(bytes)); + readBuffer.clear(); + client.configureBlocking(false); + } + XMLDecoder decoder = null; + decoder = new XMLDecoder(new ByteArrayInputStream(sb.toString().getBytes())); + UserListWrapper wp=(UserListWrapper) decoder.readObject(); + decoder.close(); + comboBox.removeAllItems(); + for(User user :wp.getUsers()) { + comboBox.addItem(new ComboBoxUser(user)); + + } + + } catch (Exception e) { + // TODO: handle exception + } + } } diff --git a/src/main/java/ui/LoginPanel.java b/src/main/java/ui/LoginPanel.java index 5ab4c0d..7ec97f1 100644 --- a/src/main/java/ui/LoginPanel.java +++ b/src/main/java/ui/LoginPanel.java @@ -102,8 +102,10 @@ public class LoginPanel extends JPanel { if(response[0].trim().equals("ACCEPTED")) { topFrame.setUserId(Long.parseLong(response[1].trim())); topFrame.getContentPane().removeAll(); - topFrame.getContentPane().add(new ChooseOpponentPanel(),BorderLayout.CENTER); + ChooseOpponentPanel panel=new ChooseOpponentPanel(); + topFrame.getContentPane().add(panel,BorderLayout.CENTER); SwingUtilities.updateComponentTreeUI(topFrame); + panel.getUsers(); }else { diff --git a/src/main/java/ui/MainFrame.java b/src/main/java/ui/MainFrame.java index cfef0ba..cb6c6ca 100644 --- a/src/main/java/ui/MainFrame.java +++ b/src/main/java/ui/MainFrame.java @@ -75,18 +75,7 @@ public class MainFrame extends JFrame implements Runnable { @Override public void run() { while(true) { - try { - - - - - - - - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } + } } |