Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>To show how easy it is to let two applications communicate with each other, check out this network-clipboard demo using JGroups. Just start two instances and begin dropping files into one of them. The second instance will instantly show the same files.</p> <pre><code>import java.io.Serializable; import java.awt.*; import java.awt.datatransfer.*; import javax.swing.*; import org.jgroups.*; public class JGroupsTest { public static void main(String[] args) throws Exception { final JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); frame.setSize(500, 300); final DefaultListModel listModel = new DefaultListModel(); final JList panel = new JList(listModel); panel.setBackground(new Color(128, 0, 40)); panel.setForeground(new Color(240, 240, 240)); frame.add(panel); System.setProperty("java.net.preferIPv4Stack", "true"); final JChannel channel = new JChannel("udp.xml"); channel.connect("networkclipboard"); channel.setReceiver(new ReceiverAdapter() { @Override public void viewAccepted(View newView) { frame.setTitle("Network Clipboard - " + channel.getLocalAddress()); } @Override public void receive(Message msg) { listModel.addElement(msg.getObject()); } }); panel.setTransferHandler(new TransferHandler() { @Override public boolean importData(JComponent comp, Transferable t) { DataFlavor[] transferDataFlavors = t.getTransferDataFlavors(); for (DataFlavor flavor : transferDataFlavors) { try { Object data = t.getTransferData(flavor); if (data instanceof Serializable) { Serializable serializable = (Serializable) data; Message msg = new Message(); msg.setObject(serializable); channel.send(msg); } } catch (Exception e) { e.printStackTrace(); } } return super.importData(comp, t); } @Override public boolean canImport(TransferSupport support) { return true; } @Override public boolean canImport(JComponent comp, DataFlavor[] transferFlavors) { return true; } }); } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload