comparison src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java @ 274:f80c9789f63e

get single display size in multidisplay
author oc
date Tue, 06 Jan 2015 15:31:14 +0900
parents 11b59b223222
children 2d39a1f9558d
comparison
equal deleted inserted replaced
273:5bab82abcc4f 274:f80c9789f63e
42 import javax.swing.border.Border; 42 import javax.swing.border.Border;
43 import javax.swing.border.EmptyBorder; 43 import javax.swing.border.EmptyBorder;
44 44
45 import java.awt.*; 45 import java.awt.*;
46 import java.awt.event.*; 46 import java.awt.event.*;
47 import java.util.ArrayList;
47 import java.util.LinkedList; 48 import java.util.LinkedList;
48 import java.util.List; 49 import java.util.List;
49 import java.util.concurrent.Executors; 50 import java.util.concurrent.Executors;
50 import java.util.concurrent.ScheduledExecutorService; 51 import java.util.concurrent.ScheduledExecutorService;
51 import java.util.concurrent.ScheduledFuture; 52 import java.util.concurrent.ScheduledFuture;
846 public void actionPerformed(ActionEvent e) { 847 public void actionPerformed(ActionEvent e) {
847 // before change server, data from previous server 848 // before change server, data from previous server
848 // should be stopped. 849 // should be stopped.
849 viewer.setCuiVersion(false); 850 viewer.setCuiVersion(false);
850 851
852 // main screen is rectangles[0]
853 ArrayList<Rectangle> rectangles = new ArrayList<Rectangle>();
854 GraphicsConfiguration[] gc = null;
855 GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
856 GraphicsDevice[] gs = ge.getScreenDevices();
857 for (int j = 0; j < gs.length; j++) {
858 GraphicsDevice gd = gs[j];
859 gc = gd.getConfigurations();
860 for (int i=0; i < gc.length; i++) {
861 rectangles.add(gc[i].getBounds());
862 }
863 }
864
851 Dimension size = frame.getSize(); 865 Dimension size = frame.getSize();
852 viewer.setFrameSize(size.width, size.height); 866 viewer.setFrameSize(size.width, size.height);
853 867
854 if (viewer.getRfb().isTreeManager()) { 868 if (viewer.getRfb().isTreeManager()) {
855 try { 869 try {
858 System.out.println("can't change server :" + e1.getMessage()); 872 System.out.println("can't change server :" + e1.getMessage());
859 } 873 }
860 return; 874 return;
861 } 875 }
862 String adr = viewer.getRfb().getMyAddress(); 876 String adr = viewer.getRfb().getMyAddress();
863 context.sendMessage(new ScreenChangeRequest(adr, viewer.getRfb().getId(), size.width, size.height)); 877 context.sendMessage(new ScreenChangeRequest(adr, viewer.getRfb().getId(), (int) rectangles.get(0).getWidth(), (int) rectangles.get(0).getHeight()));
864 } 878 }
865 }); 879 });
866 kbdButtons.add(screenButton); 880 kbdButtons.add(screenButton);
867 881
868 882