Different JFrames on different displays

I have a central database, I connect to it with JDBC and after some preparations with the data, I produce 6 different JFrames, and I like to display each on a different display (monitor) on different walls of the building, which I can reach only over IP (by WiFi) at the same time. Can I solve it with GraphicsEnvironment somehow?

I would be greatful for any advice!

Answers


If each screen can be seen by the OS as a seperate graphics device, you should be able to use something like...

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);
    }
}

Need Your Help

Generate colored android Bitmap from numeric data

android colors bitmap

Suppose I have an array of integer data, with values ranging from 0 to 100. I would like to generate a android.graphics.Bitmap with the color of each pixel representing the numeric value of the

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.