Advertisement
sdee3

OBP2 - v9

Dec 26th, 2017
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.07 KB | None | 0 0
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import java.awt.event.ItemEvent;
  6. import java.awt.event.ItemListener;
  7. import java.io.*;
  8. import java.net.InetAddress;
  9. import java.net.Socket;
  10.  
  11. public class ProzorKlijent extends JFrame implements ActionListener{
  12.  
  13.     private Container c;
  14.     private Socket s;
  15.     private BufferedReader in;
  16.     private PrintWriter out;
  17.     private String komanda = "reg";
  18.  
  19.     public ProzorKlijent(){
  20.         setSize(300,500);
  21.         setTitle("Vezba 10 - Potapanje brodova");
  22.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  23.         c = getContentPane();
  24.         dodajKomponente();
  25.         setVisible(true);
  26.     }
  27.  
  28.     private void dodajKomponente() {
  29.  
  30.         JMenuBar jMenuBar = new JMenuBar();
  31.         JMenu meniProgram = new JMenu("Program");
  32.         meniProgram.add("Snimi").addActionListener(this);
  33.  
  34.         JCheckBoxMenuItem checkBoxMenuItem = new JCheckBoxMenuItem("Konekcija sa serverom");
  35.         // Osluškivač koji čeka isključivo promenu stanja:
  36.         checkBoxMenuItem.addItemListener(new ItemListener() {
  37.             @Override
  38.             public void itemStateChanged(ItemEvent e) {
  39.               if(checkBoxMenuItem.getState()){
  40.                   try {
  41.                       s = new Socket(InetAddress.getByName("172.17.21.144"), 9000);
  42.                       in = new BufferedReader(new InputStreamReader(s.getInputStream()));
  43.                       out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(s.getOutputStream())), true);
  44.                   } catch (IOException e1) {
  45.                       JOptionPane.showMessageDialog(c, "Greška pri konekciji!");
  46.                         checkBoxMenuItem.setState(false);
  47.                   }
  48.               }
  49.                 else{
  50.                   try {
  51.                       s.close();
  52.                       in.close();
  53.                       out.close();
  54.                   } catch (IOException e1) {
  55.                       e1.printStackTrace();
  56.                   }
  57.               }
  58.             }
  59.         });
  60.         meniProgram.add(checkBoxMenuItem);
  61.         meniProgram.add("Izlaz").addActionListener(this);
  62.  
  63.         jMenuBar.add(meniProgram);
  64.         setJMenuBar(jMenuBar);
  65.  
  66.         JRadioButton registracija = new JRadioButton("Registracija");
  67.         registracija.addItemListener(new ItemListener() {
  68.             @Override
  69.             public void itemStateChanged(ItemEvent e) {
  70.                 komanda = "reg";
  71.             }
  72.         });
  73.         // Selected by default
  74.         registracija.setSelected(true);
  75.  
  76.         JRadioButton vreme = new JRadioButton("Vreme");
  77.         vreme.addItemListener(new ItemListener() {
  78.             @Override
  79.             public void itemStateChanged(ItemEvent e) {
  80.                 komanda = "vreme";
  81.             }
  82.         });
  83.  
  84.         JRadioButton gadjaj = new JRadioButton("Gadjaj");
  85.         gadjaj.addItemListener(new ItemListener() {
  86.             @Override
  87.             public void itemStateChanged(ItemEvent e) {
  88.                 komanda = "poz";
  89.             }
  90.         });
  91.  
  92.         ButtonGroup grupa = new ButtonGroup();
  93.         grupa.add(registracija);
  94.         grupa.add(vreme);
  95.         grupa.add(gadjaj);
  96.  
  97.         c.setLayout(new GridLayout(8,1));
  98.         c.add(registracija);
  99.         c.add(vreme);
  100.         c.add(gadjaj);
  101.  
  102.         JTextField pozicijaTextField = new JTextField();
  103.         c.add(pozicijaTextField);
  104.  
  105.         JButton posalji = new JButton("Pošalji");
  106.         posalji.addActionListener(new ActionListener() {
  107.             @Override
  108.             public void actionPerformed(ActionEvent e) {
  109.                 String zahtev = "";
  110.                 switch (komanda){
  111.                     case "reg":
  112.                         String username = JOptionPane.showInputDialog("Unesite svoje ime:");
  113.                         zahtev = komanda + ":" + username;
  114.                         break;
  115.                     case "vreme":
  116.                         zahtev = komanda + ":" + vreme;
  117.                         break;
  118.                     case "poz":
  119.                         zahtev = komanda + ":" + pozicijaTextField.getText();
  120.                         break;
  121.                 }
  122.                 if(checkBoxMenuItem.getState()){
  123.                     out.println(zahtev);
  124.                     try {
  125.                         String odgovor = in.readLine();
  126.                         JOptionPane.showMessageDialog(c, odgovor);
  127.                     } catch (IOException e1) {
  128.                         e1.printStackTrace();
  129.                     }
  130.                 }
  131.                 else
  132.                     JOptionPane.showMessageDialog(c, "Niste konektovani sa serverom!");
  133.             }
  134.         });
  135.  
  136.         c.add(posalji);
  137.     }
  138.  
  139.     @Override
  140.     public void actionPerformed(ActionEvent e) {
  141.         switch (e.getActionCommand()){
  142.             case "Snimi":
  143.                 JOptionPane.showMessageDialog(c, "Snimljene izmene!");
  144.                 break;
  145.  
  146.             case "Izlaz":
  147.                 System.exit(1);
  148.                 break;
  149.         }
  150.     }
  151. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement