Hakunin

OBP2_V10

Dec 26th, 2017
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.90 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. /**
  12.  * Created by korisnik on 26.12.17..
  13.  */
  14. public class KlijentProzor extends JFrame implements ActionListener{
  15.  
  16.     private BufferedReader br;
  17.     private PrintWriter bw;
  18.     private Container c;
  19.     public Socket s;
  20.     private String komanda="reg";
  21.  
  22.     KlijentProzor(){
  23.         setTitle("podmornice");
  24.         setSize(400,600);
  25.  
  26.         c = getContentPane();
  27.         dodajKomponente();
  28.  
  29.  
  30.  
  31.         setVisible(true);
  32.     }
  33.  
  34.     public void dodajKomponente(){
  35.         JMenuBar glavnimeni = new JMenuBar();
  36.         setJMenuBar(glavnimeni);
  37.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  38.  
  39.         JMenu meni1 = new JMenu("Program");
  40.         glavnimeni.add(meni1);
  41.         meni1.add(new JMenuItem("Snimi")).addActionListener(this); // moze i samo meni1.add("snimi).addActionListener(this);
  42.         JCheckBoxMenuItem cbmi = new JCheckBoxMenuItem("Konekcija sa serverom");
  43.         cbmi.addItemListener(new ItemListener(){
  44.             @Override
  45.             public void itemStateChanged(ItemEvent e){
  46.                 if(cbmi.getState()) {
  47.                     try {
  48.                         s = new Socket(InetAddress.getByName("172.17.21.144"), 9000);
  49.                         br = new BufferedReader(new InputStreamReader(s.getInputStream()));
  50.                         bw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(s.getOutputStream())),true);
  51.                     }catch (IOException ex){
  52.                         JOptionPane.showMessageDialog(c,"greska pri konekciji");
  53.                         cbmi.setState(false);
  54.                     }
  55.                 }else {
  56.                     try{
  57.                         s.close();
  58.                         bw.close();
  59.                         br.close();
  60.                     }catch (IOException ex){
  61.                         ex.printStackTrace();
  62.                     }
  63.                 }
  64.             }
  65.         });
  66.         meni1.add(cbmi);
  67.         meni1.add(new JMenuItem("izlaz"));
  68.  
  69.         JMenu meni2 = new JMenu("meni2");
  70.         glavnimeni.add(meni2);
  71.         meni2.add(new JMenuItem("1"));
  72.  
  73.         JRadioButton regRB = new JRadioButton("registracija");
  74.         regRB.addItemListener(new ItemListener() {
  75.             @Override
  76.             public void itemStateChanged(ItemEvent e) {
  77.                 komanda="reg";
  78.             }
  79.         });
  80.         regRB.setSelected(true);
  81.         JRadioButton vremeRB = new JRadioButton("Vreme");
  82.         vremeRB.addItemListener(new ItemListener() {
  83.             @Override
  84.             public void itemStateChanged(ItemEvent e) {
  85.                 komanda="vreme";
  86.             }
  87.         });
  88.         JRadioButton gadjajRB= new JRadioButton("Gadjaj");
  89.         gadjajRB.addItemListener(new ItemListener() {
  90.             @Override
  91.             public void itemStateChanged(ItemEvent e) {
  92.                 komanda="poz";
  93.             }
  94.         });
  95.         ButtonGroup grupa= new ButtonGroup();
  96.         grupa.add(regRB);
  97.         grupa.add(vremeRB);
  98.         grupa.add(gadjajRB);
  99.  
  100.         c.setLayout(new GridLayout(8,1));
  101.         c.add(regRB);
  102.         c.add(vremeRB);
  103.         c.add(gadjajRB);
  104.  
  105.         JTextField pozicijaTF = new JTextField();
  106.         c.add(pozicijaTF);
  107.         JButton posalji= new JButton("posalji");
  108.         posalji.addActionListener(new ActionListener() {
  109.             @Override
  110.             public void actionPerformed(ActionEvent e) {
  111.                 String zahtev = "";
  112.                 switch (komanda){
  113.                     case "reg":
  114.                         String korime = JOptionPane.showInputDialog("unesite svoje ime");
  115.                         zahtev=komanda+":"+korime;
  116.                         break;
  117.                     case "vreme":
  118.                         zahtev=komanda+"??";
  119.                         break;
  120.                     case "poz":
  121.                         zahtev=komanda+":"+pozicijaTF.getText();
  122.                         break;
  123.                 }
  124.                 if(cbmi.getState()){
  125.                     bw.println(zahtev);
  126.                     try{
  127.                         String odgovor = br.readLine();
  128.                         JOptionPane.showMessageDialog(c,odgovor);
  129.                     }catch (IOException ex){
  130.                         ex.printStackTrace();
  131.                     }
  132.                 }
  133.             }
  134.         });
  135.         c.add(posalji);
  136.  
  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.             case "Izlaz":
  146.                 System.exit(0);
  147.                 break;
  148.  
  149.         }
  150.     }
  151. }
Advertisement
Add Comment
Please, Sign In to add comment