Доступ только для чтения не очень сложен. Давайте назовем 2 JFrames у вас есть frameA и frameB и кадр на новом мониторе frameC.
Вы можете отобразить содержимое A или B в C следующим образом:
JFrame frameC = new JFrame();
Container cont = c.getContentPane();
cont.setLayout(new BorderLayout());
JLabel lab = new JLabel();
cont.add(new JScrollPane(lab), BorderLayout.CENTER);
jFrameC.setSize(800,600);
Затем периодически запускайте этот код:
JFrame f = frameA; // or frameB
BufferedImage bi = new BufferedImage(f.getWidth(), f.getHeight(), BufferedImage.TYPE_INT_ARGB);
Graphics2D g = bi.createGraphics();
f.paint(g);
g.dispose();
lab.setIcon(new IconImage(bi));
Если вы действительно хотите управлять кадрами A / B из frameC, это немного сложнее. Вероятно, я бы начал с java.awt.Robot . Java2S имеет несколько примеров , демонстрирующих использование Robot .
Самая сложная часть управления «удаленным» фреймом - это трансляция событий мыши в frameC в frameA / B. Вам нужно будет рассчитать смещение на изображении, а затем перевести его обратно на панель содержимого другого фрейма.
Примечание: SwingUtilities имеет несколько способов помочь с переводом координат.