Hi,
ich versuche ein JPanel via RMI zu übertragen (bitte nicht fragen warum. Das hat schon seine Gründe )
Was ich dabei festgestellt habe, ist dass die ActionListener bei JButtons nicht funktionieren.
Weiß jemand, ob das prinzipiell bei Java nicht geht, oder ob ich einen Fehler gemacht habe?
Hier mal ein kleines Code-Beispiel:
RMI-Server:
Hier der Client:
Und hier noch das kleine JPanel:
Ich hoff mir kann einer Helfen.
Danke schon mal !!!!
ich versuche ein JPanel via RMI zu übertragen (bitte nicht fragen warum. Das hat schon seine Gründe )
Was ich dabei festgestellt habe, ist dass die ActionListener bei JButtons nicht funktionieren.
Weiß jemand, ob das prinzipiell bei Java nicht geht, oder ob ich einen Fehler gemacht habe?
Hier mal ein kleines Code-Beispiel:
RMI-Server:
Code:
public class ServerClass extends UnicastRemoteObject implements Server { private static final long serialVersionUID = 1L; protected ServerClass() throws RemoteException { super(); } public static void main(String[] args) throws Exception{ LocateRegistry.createRegistry(Registry.REGISTRY_PORT); Naming.rebind("Server", new ServerClass()); } @Override public JPanel method() throws RemoteException { return new TestPanel(); } }
Code:
public class Client extends JFrame { private JPanel contentPane; /** * Create the frame. */ public Client() throws Exception{ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 450, 300); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.setLayout(new BorderLayout(0, 0)); setContentPane(contentPane); Server server = (Server)Naming.lookup("//127.0.0.1/Server"); contentPane.setLayout(new BorderLayout()); //Hier wird das RMI-JPanel übergeben contentPane.add(server.method(), BorderLayout.CENTER); } }
Code:
public TestPanel() { JButton btnNewButton = new JButton("New button"); btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { System.exit(0); } }); add(btnNewButton); }
Danke schon mal !!!!
Comment