Một đoạn mã từ ứng dụng Java của tôi:java & fullscreen trên nhiều màn hình
JFrame f = new JFrame();
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice gd = ge.getDefaultScreenDevice();
gd.setFullScreenWindow(f);
Vì vậy, những gì nó làm là làm cho nó tự độ toàn màn hình. Bây giờ điều kỳ lạ là chương trình là toàn màn hình nhưng chỉ trên một màn hình! Ví dụ: Tôi có một hệ thống cửa sổ vista với hai màn hình được kết hợp trong một máy tính để bàn. Điều gì sẽ làm tự động cho phép hiển thị toàn màn hình trên tất cả các màn hình?
Ok Tôi cố gắng đó:
import java.awt.image.ColorModel;
import java.awt.GraphicsConfiguration;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Rectangle;
class grdevs
{
public static void main(String [] args)
{
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice[] gs = ge.getScreenDevices();
for(GraphicsDevice curGs : gs)
{
GraphicsConfiguration[] gc = curGs.getConfigurations();
for(GraphicsConfiguration curGc : gc)
{
Rectangle bounds = curGc.getBounds();
ColorModel cm = curGc.getColorModel();
System.out.println("" + bounds.getX() + "," + bounds.getY() + " " + bounds.getWidth() + "x" + bounds.getHeight() + " " + cm);
}
}
}
}
nhưng nó mang lại:
0.0,0.0 1024.0x768.0 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=0
0.0,0.0 1024.0x768.0 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=0
0.0,0.0 1024.0x768.0 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=0
0.0,0.0 1024.0x768.0 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=0
0.0,0.0 1024.0x768.0 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=0
0.0,0.0 1024.0x768.0 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=0
1024.0,0.0 1024.0x768.0 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=0
1024.0,0.0 1024.0x768.0 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=0
1024.0,0.0 1024.0x768.0 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=0
1024.0,0.0 1024.0x768.0 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=0
1024.0,0.0 1024.0x768.0 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=0
1024.0,0.0 1024.0x768.0 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=0
Ví dụ tôi mong chờ một thiết bị có khả năng 2048x768 khi chúng được kết hợp trong một (Tôi nhấp vào " mở rộng máy tính để bàn ").
Tôi đồng ý. Hành vi thông thường là tối đa hóa/toàn màn hình trong một màn hình. Nếu bạn có một màn hình máy tính để bàn mở rộng có thể chỉ bao gồm các hình chữ nhật "một phần" bên trong hình chữ nhật trên màn hình lớn. Ngay cả khi họ không thể bao gồm tất cả các khu vực máy tính để bàn (hai màn hình trong đường chéo bằng ví dụ), do đó bạn phải tìm hình chữ nhật máy tính để bàn lớn và thiết lập kích thước bằng tay. – helios