0
我有一箇中央數據庫,我用JDBC連接到它,並在一些準備數據後,我產生6個不同的JFrames,我喜歡在不同的牆上顯示不同的顯示器我只能通過IP(通過WiFi)同時訪問該建築物。我可以用GraphicsEnvironment以某種方式解決它嗎?不同的顯示器上的不同JFrame
我會很樂意提供任何建議!
我有一箇中央數據庫,我用JDBC連接到它,並在一些準備數據後,我產生6個不同的JFrames,我喜歡在不同的牆上顯示不同的顯示器我只能通過IP(通過WiFi)同時訪問該建築物。我可以用GraphicsEnvironment以某種方式解決它嗎?不同的顯示器上的不同JFrame
我會很樂意提供任何建議!
如果每個屏幕可以通過OS作爲一個單獨的圖形設備中可以看出,你應該能夠使用像......
import java.awt.EventQueue;
import java.awt.GraphicsConfiguration;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Rectangle;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
public class TestGC {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
}
GraphicsDevice[] sds = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices();
for (GraphicsDevice sd : sds) {
System.out.println(sd.getIDstring());
GraphicsConfiguration gc = sd.getDefaultConfiguration();
JFrame f = new JFrame(gc);
f.add(new JLabel(sd.getIDstring()));
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
centerOn(f, gc);
f.setVisible(true);
}
}
});
}
private static void centerOn(JFrame f, GraphicsConfiguration gc) {
Rectangle bounds = gc.getBounds();
int x = bounds.x + ((bounds.width - f.getWidth())/2);
int y = bounds.y + ((bounds.height - f.getHeight())/2);
f.setLocation(x, y);
}
}
你說的*「僅達到了IP」 *是什麼意思?你是指屏幕還是每個人都是不同的電腦? – MadProgrammer 2013-05-03 10:04:09
只有屏幕!該程序將只在一臺主電腦上運行,並將有6個屏幕(智能電視)。 – user2346329 2013-05-03 10:59:17
操作系統是否將每個屏幕都視爲獨立顯示器? – MadProgrammer 2013-05-03 11:15:14