Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.ItemEvent;
- import java.awt.event.ItemListener;
- import java.io.*;
- import java.net.InetAddress;
- import java.net.Socket;
- public class ProzorKlijent extends JFrame implements ActionListener{
- private Container c;
- private Socket s;
- private BufferedReader in;
- private PrintWriter out;
- private String komanda = "reg";
- public ProzorKlijent(){
- setSize(300,500);
- setTitle("Vezba 10 - Potapanje brodova");
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- c = getContentPane();
- dodajKomponente();
- setVisible(true);
- }
- private void dodajKomponente() {
- JMenuBar jMenuBar = new JMenuBar();
- JMenu meniProgram = new JMenu("Program");
- meniProgram.add("Snimi").addActionListener(this);
- JCheckBoxMenuItem checkBoxMenuItem = new JCheckBoxMenuItem("Konekcija sa serverom");
- // Osluškivač koji čeka isključivo promenu stanja:
- checkBoxMenuItem.addItemListener(new ItemListener() {
- @Override
- public void itemStateChanged(ItemEvent e) {
- if(checkBoxMenuItem.getState()){
- try {
- s = new Socket(InetAddress.getByName("172.17.21.144"), 9000);
- in = new BufferedReader(new InputStreamReader(s.getInputStream()));
- out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(s.getOutputStream())), true);
- } catch (IOException e1) {
- JOptionPane.showMessageDialog(c, "Greška pri konekciji!");
- checkBoxMenuItem.setState(false);
- }
- }
- else{
- try {
- s.close();
- in.close();
- out.close();
- } catch (IOException e1) {
- e1.printStackTrace();
- }
- }
- }
- });
- meniProgram.add(checkBoxMenuItem);
- meniProgram.add("Izlaz").addActionListener(this);
- jMenuBar.add(meniProgram);
- setJMenuBar(jMenuBar);
- JRadioButton registracija = new JRadioButton("Registracija");
- registracija.addItemListener(new ItemListener() {
- @Override
- public void itemStateChanged(ItemEvent e) {
- komanda = "reg";
- }
- });
- // Selected by default
- registracija.setSelected(true);
- JRadioButton vreme = new JRadioButton("Vreme");
- vreme.addItemListener(new ItemListener() {
- @Override
- public void itemStateChanged(ItemEvent e) {
- komanda = "vreme";
- }
- });
- JRadioButton gadjaj = new JRadioButton("Gadjaj");
- gadjaj.addItemListener(new ItemListener() {
- @Override
- public void itemStateChanged(ItemEvent e) {
- komanda = "poz";
- }
- });
- ButtonGroup grupa = new ButtonGroup();
- grupa.add(registracija);
- grupa.add(vreme);
- grupa.add(gadjaj);
- c.setLayout(new GridLayout(8,1));
- c.add(registracija);
- c.add(vreme);
- c.add(gadjaj);
- JTextField pozicijaTextField = new JTextField();
- c.add(pozicijaTextField);
- JButton posalji = new JButton("Pošalji");
- posalji.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- String zahtev = "";
- switch (komanda){
- case "reg":
- String username = JOptionPane.showInputDialog("Unesite svoje ime:");
- zahtev = komanda + ":" + username;
- break;
- case "vreme":
- zahtev = komanda + ":" + vreme;
- break;
- case "poz":
- zahtev = komanda + ":" + pozicijaTextField.getText();
- break;
- }
- if(checkBoxMenuItem.getState()){
- out.println(zahtev);
- try {
- String odgovor = in.readLine();
- JOptionPane.showMessageDialog(c, odgovor);
- } catch (IOException e1) {
- e1.printStackTrace();
- }
- }
- else
- JOptionPane.showMessageDialog(c, "Niste konektovani sa serverom!");
- }
- });
- c.add(posalji);
- }
- @Override
- public void actionPerformed(ActionEvent e) {
- switch (e.getActionCommand()){
- case "Snimi":
- JOptionPane.showMessageDialog(c, "Snimljene izmene!");
- break;
- case "Izlaz":
- System.exit(1);
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement