From 110a2354cff010f88b59dbb302192fce0cc6a9ac Mon Sep 17 00:00:00 2001 From: cirakg Date: Fri, 30 Dec 2022 04:32:03 +0100 Subject: Omogucen prikaz online korisnika. --- src/main/java/ui/ChooseOpponentPanel.java | 66 ++++++++++++++++++++++++++++--- 1 file changed, 61 insertions(+), 5 deletions(-) (limited to 'src/main/java/ui/ChooseOpponentPanel.java') 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 + } + } } -- cgit v1.2.3