Advertisement
Hiitsu

Untitled

Jun 26th, 2018
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.39 KB | None | 0 0
  1. import java.rmi.*;
  2.  
  3. public interface Serwer extends Remote{
  4.     Object[] pobierzListe() throws RemoteException;
  5.     Kostki pobierzKostki(Object serviceKey) throws  RemoteException;
  6. }
  7. /////////////////////////////////////////////////////
  8. import javax.swing.*;
  9. import java.io.*;
  10.  
  11. public interface Kostki extends Serializable{
  12.     public JPanel pobierzPanelGUI();
  13. }
  14. /////////////////////////////////////////////////////
  15. import java.net.MalformedURLException;
  16. import java.rmi.*;
  17. import java.rmi.registry.LocateRegistry;
  18. import java.rmi.registry.Registry;
  19. import java.util.*;
  20. import java.rmi.server.*;
  21.  
  22. public class SerwerImp extends UnicastRemoteObject implements  Serwer{
  23.     HashMap lista;
  24.  
  25.     public SerwerImp() throws RemoteException{
  26.         konfigurujKostki();
  27.     }
  28.     private void konfigurujKostki(){
  29.         lista = new HashMap();
  30.         lista.put("K4", new K4Kostki());
  31.         lista.put("K6", new K6Kostki());
  32.         lista.put("K8", new K8Kostki());
  33.         lista.put("K10", new K10Kostki());
  34.         lista.put("K100", new K100Kostki());
  35.     }
  36.     public Object[] pobierzListe(){
  37.         return lista.keySet().toArray();
  38.     }
  39.     public Kostki pobierzKostki(Object kluczKos1) throws RemoteException{
  40.         Kostki kostki = (Kostki) lista.get(kluczKos1);
  41.         return kostki;
  42.     }
  43.     public static void main(String[] args){
  44.         try{
  45.             Registry registry = LocateRegistry.createRegistry(1099);
  46.  
  47.             Naming.rebind("Serwer", new SerwerImp());
  48.  
  49.         } catch (RemoteException e) {
  50.             e.printStackTrace();
  51.         } catch (MalformedURLException e) {
  52.             e.printStackTrace();
  53.         }
  54.         System.out.println("Serwer wystartował");
  55.     }
  56. }
  57. ///////////////////////////////////////////////////////////////////
  58. import java.awt.*;
  59. import javax.swing.*;
  60. import java.net.MalformedURLException;
  61. import java.rmi.*;
  62. import java.awt.event.*;
  63.  
  64. public class Przegladarka {
  65.     JPanel panelGlowny;
  66.     JComboBox lista;
  67.     Serwer server;
  68.  
  69.     public void tworzGUI(){
  70.         JFrame ramka = new JFrame("Przegladarka RMI");
  71.         panelGlowny = new JPanel();
  72.         ramka.getContentPane().add(BorderLayout.CENTER, panelGlowny);
  73.  
  74.         Object[] kostki = pobierzListe();
  75.  
  76.         lista = new JComboBox(kostki);
  77.         ramka.getContentPane().add(BorderLayout.NORTH, lista);
  78.  
  79.         lista.addActionListener(new ListaListener());
  80.  
  81.         ramka.setSize(300,200);
  82.         ramka.setVisible(true);
  83.     }
  84.     void wczytajKostki(Object wybranaKos1){
  85.         try{
  86.             Kostki kos1 = server.pobierzKostki(wybranaKos1);
  87.  
  88.             panelGlowny.removeAll();
  89.             panelGlowny.add(kos1.pobierzPanelGUI());
  90.             panelGlowny.validate();
  91.             panelGlowny.repaint();
  92.         } catch (RemoteException e) {
  93.             e.printStackTrace();
  94.         }
  95.     }
  96.     Object[] pobierzListe(){
  97.         Object obj = null;
  98.         Object[] kostki = null;
  99.         try{
  100.             obj = Naming.lookup("rmi://127.0.0.1/Serwer");
  101.         } catch (RemoteException e) {
  102.             e.printStackTrace();
  103.         } catch (NotBoundException e) {
  104.             e.printStackTrace();
  105.         } catch (MalformedURLException e) {
  106.             e.printStackTrace();
  107.         }
  108.         server = (Serwer) obj;
  109.  
  110.         try{
  111.             kostki = server.pobierzListe();
  112.         } catch (RemoteException e) {
  113.             e.printStackTrace();
  114.         }
  115.         return kostki;
  116.     }
  117.     class ListaListener implements  ActionListener{
  118.  
  119.         public void actionPerformed(ActionEvent e) {
  120.             Object wybor = lista.getSelectedItem();
  121.             wczytajKostki(wybor);
  122.         }
  123.  
  124.     }
  125.     public static void main(String[] args){
  126.         new Przegladarka().tworzGUI();
  127.     }
  128. }
  129. ////////////////////////////////////////////////////////////////import javax.swing.*;
  130. import java.awt.event.*;
  131.  
  132.  
  133. public class K4Kostki implements Kostki{
  134.     JLabel label;
  135.     JComboBox iloscKosci;
  136.  
  137.     public JPanel pobierzPanelGUI() {
  138.        JPanel panel = new JPanel();
  139.        JButton przycisk = new JButton("Rzut!");
  140.        String[] opcje = {"1","2","3","4","5"};
  141.        iloscKosci = new JComboBox(opcje);
  142.        label = new JLabel("wylosowane cyfry");
  143.        przycisk.addActionListener(new RzutKoscmiListener());
  144.        panel.add(iloscKosci);
  145.        panel.add(przycisk);
  146.        panel.add(label);
  147.        return panel;
  148.     }
  149.     public class RzutKoscmiListener implements ActionListener{
  150.         public void actionPerformed(ActionEvent e) {
  151.             String wynikiRzutu = "";
  152.             String wybor = (String) iloscKosci.getSelectedItem();
  153.             int iloscUzywanychKosci = Integer.parseInt(wybor);
  154.             for(int i = 0; i < iloscUzywanychKosci; i++){
  155.                 int r =(int) ((Math.random()* 4) +1);
  156.                 wynikiRzutu+=("  " + r);
  157.             }
  158.             label.setText(wynikiRzutu);
  159.         }
  160.     }
  161. }
  162. ///////////////////////////////////////////////////////////////
  163. import javax.swing.*;
  164. import java.awt.event.*;
  165.  
  166.  
  167. public class K6Kostki implements Kostki{
  168.     JLabel label;
  169.     JComboBox iloscKosci;
  170.  
  171.     public JPanel pobierzPanelGUI() {
  172.         JPanel panel = new JPanel();
  173.         JButton przycisk = new JButton("Rzut!");
  174.         String[] opcje = {"1","2","3","4","5"};
  175.         iloscKosci = new JComboBox(opcje);
  176.         label = new JLabel("wylosowane cyfry");
  177.         przycisk.addActionListener(new RzutKoscmiListener());
  178.         panel.add(iloscKosci);
  179.         panel.add(przycisk);
  180.         panel.add(label);
  181.         return panel;
  182.     }
  183.     public class RzutKoscmiListener implements ActionListener{
  184.         public void actionPerformed(ActionEvent e) {
  185.             String wynikiRzutu = "";
  186.             String wybor = (String) iloscKosci.getSelectedItem();
  187.             int iloscUzywanychKosci = Integer.parseInt(wybor);
  188.             for(int i = 0; i < iloscUzywanychKosci; i++){
  189.                 int r =(int) ((Math.random()* 6) +1);
  190.                 wynikiRzutu+=(" " + r);
  191.             }
  192.             label.setText(wynikiRzutu);
  193.         }
  194.     }
  195. }
  196. ////////////////////////////////////////////////////////////////
  197. import javax.swing.*;
  198. import java.awt.event.*;
  199.  
  200.  
  201. public class K8Kostki implements Kostki{
  202.     JLabel label;
  203.     JComboBox iloscKosci;
  204.  
  205.     public JPanel pobierzPanelGUI() {
  206.         JPanel panel = new JPanel();
  207.         JButton przycisk = new JButton("Rzut!");
  208.         String[] opcje = {"1","2","3","4","5"};
  209.         iloscKosci = new JComboBox(opcje);
  210.         label = new JLabel("wylosowane cyfry");
  211.         przycisk.addActionListener(new RzutKoscmiListener());
  212.         panel.add(iloscKosci);
  213.         panel.add(przycisk);
  214.         panel.add(label);
  215.         return panel;
  216.     }
  217.     public class RzutKoscmiListener implements ActionListener{
  218.         public void actionPerformed(ActionEvent e) {
  219.             String wynikiRzutu = "";
  220.             String wybor = (String) iloscKosci.getSelectedItem();
  221.             int iloscUzywanychKosci = Integer.parseInt(wybor);
  222.             for(int i = 0; i < iloscUzywanychKosci; i++){
  223.                 int r =(int) ((Math.random()* 8) +1);
  224.                 wynikiRzutu+=(" " + r);
  225.             }
  226.             label.setText(wynikiRzutu);
  227.         }
  228.     }
  229. }
  230. //////////////////////////////////////////////////////////////
  231. import javax.swing.*;
  232. import java.awt.event.*;
  233.  
  234.  
  235. public class K10Kostki implements Kostki{
  236.     JLabel label;
  237.     JComboBox iloscKosci;
  238.  
  239.     public JPanel pobierzPanelGUI() {
  240.         JPanel panel = new JPanel();
  241.         JButton przycisk = new JButton("Rzut!");
  242.         String[] opcje = {"1","2","3","4","5"};
  243.         iloscKosci = new JComboBox(opcje);
  244.         label = new JLabel("wylosowane cyfry");
  245.         przycisk.addActionListener(new RzutKoscmiListener());
  246.         panel.add(iloscKosci);
  247.         panel.add(przycisk);
  248.         panel.add(label);
  249.         return panel;
  250.     }
  251.     public class RzutKoscmiListener implements ActionListener{
  252.         public void actionPerformed(ActionEvent e) {
  253.             String wynikiRzutu = "";
  254.             String wybor = (String) iloscKosci.getSelectedItem();
  255.             int iloscUzywanychKosci = Integer.parseInt(wybor);
  256.             for(int i = 0; i < iloscUzywanychKosci; i++){
  257.                 int r =(int) ((Math.random()* 10) +1);
  258.                 wynikiRzutu+=(" " + r);
  259.             }
  260.             label.setText(wynikiRzutu);
  261.         }
  262.     }
  263. }
  264. ////////////////////////////////////////////////////////
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement