Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.rmi.*;
- public interface Serwer extends Remote{
- Object[] pobierzListe() throws RemoteException;
- Kostki pobierzKostki(Object serviceKey) throws RemoteException;
- }
- /////////////////////////////////////////////////////
- import javax.swing.*;
- import java.io.*;
- public interface Kostki extends Serializable{
- public JPanel pobierzPanelGUI();
- }
- /////////////////////////////////////////////////////
- import java.net.MalformedURLException;
- import java.rmi.*;
- import java.rmi.registry.LocateRegistry;
- import java.rmi.registry.Registry;
- import java.util.*;
- import java.rmi.server.*;
- public class SerwerImp extends UnicastRemoteObject implements Serwer{
- HashMap lista;
- public SerwerImp() throws RemoteException{
- konfigurujKostki();
- }
- private void konfigurujKostki(){
- lista = new HashMap();
- lista.put("K4", new K4Kostki());
- lista.put("K6", new K6Kostki());
- lista.put("K8", new K8Kostki());
- lista.put("K10", new K10Kostki());
- lista.put("K100", new K100Kostki());
- }
- public Object[] pobierzListe(){
- return lista.keySet().toArray();
- }
- public Kostki pobierzKostki(Object kluczKos1) throws RemoteException{
- Kostki kostki = (Kostki) lista.get(kluczKos1);
- return kostki;
- }
- public static void main(String[] args){
- try{
- Registry registry = LocateRegistry.createRegistry(1099);
- Naming.rebind("Serwer", new SerwerImp());
- } catch (RemoteException e) {
- e.printStackTrace();
- } catch (MalformedURLException e) {
- e.printStackTrace();
- }
- System.out.println("Serwer wystartował");
- }
- }
- ///////////////////////////////////////////////////////////////////
- import java.awt.*;
- import javax.swing.*;
- import java.net.MalformedURLException;
- import java.rmi.*;
- import java.awt.event.*;
- public class Przegladarka {
- JPanel panelGlowny;
- JComboBox lista;
- Serwer server;
- public void tworzGUI(){
- JFrame ramka = new JFrame("Przegladarka RMI");
- panelGlowny = new JPanel();
- ramka.getContentPane().add(BorderLayout.CENTER, panelGlowny);
- Object[] kostki = pobierzListe();
- lista = new JComboBox(kostki);
- ramka.getContentPane().add(BorderLayout.NORTH, lista);
- lista.addActionListener(new ListaListener());
- ramka.setSize(300,200);
- ramka.setVisible(true);
- }
- void wczytajKostki(Object wybranaKos1){
- try{
- Kostki kos1 = server.pobierzKostki(wybranaKos1);
- panelGlowny.removeAll();
- panelGlowny.add(kos1.pobierzPanelGUI());
- panelGlowny.validate();
- panelGlowny.repaint();
- } catch (RemoteException e) {
- e.printStackTrace();
- }
- }
- Object[] pobierzListe(){
- Object obj = null;
- Object[] kostki = null;
- try{
- obj = Naming.lookup("rmi://127.0.0.1/Serwer");
- } catch (RemoteException e) {
- e.printStackTrace();
- } catch (NotBoundException e) {
- e.printStackTrace();
- } catch (MalformedURLException e) {
- e.printStackTrace();
- }
- server = (Serwer) obj;
- try{
- kostki = server.pobierzListe();
- } catch (RemoteException e) {
- e.printStackTrace();
- }
- return kostki;
- }
- class ListaListener implements ActionListener{
- public void actionPerformed(ActionEvent e) {
- Object wybor = lista.getSelectedItem();
- wczytajKostki(wybor);
- }
- }
- public static void main(String[] args){
- new Przegladarka().tworzGUI();
- }
- }
- ////////////////////////////////////////////////////////////////import javax.swing.*;
- import java.awt.event.*;
- public class K4Kostki implements Kostki{
- JLabel label;
- JComboBox iloscKosci;
- public JPanel pobierzPanelGUI() {
- JPanel panel = new JPanel();
- JButton przycisk = new JButton("Rzut!");
- String[] opcje = {"1","2","3","4","5"};
- iloscKosci = new JComboBox(opcje);
- label = new JLabel("wylosowane cyfry");
- przycisk.addActionListener(new RzutKoscmiListener());
- panel.add(iloscKosci);
- panel.add(przycisk);
- panel.add(label);
- return panel;
- }
- public class RzutKoscmiListener implements ActionListener{
- public void actionPerformed(ActionEvent e) {
- String wynikiRzutu = "";
- String wybor = (String) iloscKosci.getSelectedItem();
- int iloscUzywanychKosci = Integer.parseInt(wybor);
- for(int i = 0; i < iloscUzywanychKosci; i++){
- int r =(int) ((Math.random()* 4) +1);
- wynikiRzutu+=(" " + r);
- }
- label.setText(wynikiRzutu);
- }
- }
- }
- ///////////////////////////////////////////////////////////////
- import javax.swing.*;
- import java.awt.event.*;
- public class K6Kostki implements Kostki{
- JLabel label;
- JComboBox iloscKosci;
- public JPanel pobierzPanelGUI() {
- JPanel panel = new JPanel();
- JButton przycisk = new JButton("Rzut!");
- String[] opcje = {"1","2","3","4","5"};
- iloscKosci = new JComboBox(opcje);
- label = new JLabel("wylosowane cyfry");
- przycisk.addActionListener(new RzutKoscmiListener());
- panel.add(iloscKosci);
- panel.add(przycisk);
- panel.add(label);
- return panel;
- }
- public class RzutKoscmiListener implements ActionListener{
- public void actionPerformed(ActionEvent e) {
- String wynikiRzutu = "";
- String wybor = (String) iloscKosci.getSelectedItem();
- int iloscUzywanychKosci = Integer.parseInt(wybor);
- for(int i = 0; i < iloscUzywanychKosci; i++){
- int r =(int) ((Math.random()* 6) +1);
- wynikiRzutu+=(" " + r);
- }
- label.setText(wynikiRzutu);
- }
- }
- }
- ////////////////////////////////////////////////////////////////
- import javax.swing.*;
- import java.awt.event.*;
- public class K8Kostki implements Kostki{
- JLabel label;
- JComboBox iloscKosci;
- public JPanel pobierzPanelGUI() {
- JPanel panel = new JPanel();
- JButton przycisk = new JButton("Rzut!");
- String[] opcje = {"1","2","3","4","5"};
- iloscKosci = new JComboBox(opcje);
- label = new JLabel("wylosowane cyfry");
- przycisk.addActionListener(new RzutKoscmiListener());
- panel.add(iloscKosci);
- panel.add(przycisk);
- panel.add(label);
- return panel;
- }
- public class RzutKoscmiListener implements ActionListener{
- public void actionPerformed(ActionEvent e) {
- String wynikiRzutu = "";
- String wybor = (String) iloscKosci.getSelectedItem();
- int iloscUzywanychKosci = Integer.parseInt(wybor);
- for(int i = 0; i < iloscUzywanychKosci; i++){
- int r =(int) ((Math.random()* 8) +1);
- wynikiRzutu+=(" " + r);
- }
- label.setText(wynikiRzutu);
- }
- }
- }
- //////////////////////////////////////////////////////////////
- import javax.swing.*;
- import java.awt.event.*;
- public class K10Kostki implements Kostki{
- JLabel label;
- JComboBox iloscKosci;
- public JPanel pobierzPanelGUI() {
- JPanel panel = new JPanel();
- JButton przycisk = new JButton("Rzut!");
- String[] opcje = {"1","2","3","4","5"};
- iloscKosci = new JComboBox(opcje);
- label = new JLabel("wylosowane cyfry");
- przycisk.addActionListener(new RzutKoscmiListener());
- panel.add(iloscKosci);
- panel.add(przycisk);
- panel.add(label);
- return panel;
- }
- public class RzutKoscmiListener implements ActionListener{
- public void actionPerformed(ActionEvent e) {
- String wynikiRzutu = "";
- String wybor = (String) iloscKosci.getSelectedItem();
- int iloscUzywanychKosci = Integer.parseInt(wybor);
- for(int i = 0; i < iloscUzywanychKosci; i++){
- int r =(int) ((Math.random()* 10) +1);
- wynikiRzutu+=(" " + r);
- }
- label.setText(wynikiRzutu);
- }
- }
- }
- ////////////////////////////////////////////////////////
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement