나는 집이 한 화면 밖에 없기 때문에 월요일에 업무에 복귀 할 예정이지만 다음 코드는 Windows 7 64 비트에서 "\ Display0"로 JFrame의 제목을 설정합니다. 이 문자열은 스크린의 ID이고 두 번째 스크린은 "\ Display1"이라고 가정합니다. GraphicsDevice.getIDstring()
GraphicsConfiguration.getDevice()
Component.getGraphicsConfiguration()
- 나는 그것을 평가하는 멀티 스크린 PC에서이 응용 프로그램을 실행하는 것이 좋습니다.
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
public class Frm
extends
JFrame
implements
ActionListener
{
Frm()
{
setDefaultCloseOperation(EXIT_ON_CLOSE);
setPreferredSize(new Dimension(640, 480));
setLayout(new BorderLayout());
JButton getScreenBtn = new JButton("Get Screen ID");
add(getScreenBtn, BorderLayout.CENTER);
getScreenBtn.addActionListener(this);
pack();
setLocationRelativeTo(null);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
setTitle(getGraphicsConfiguration().getDevice().getIDstring());
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override public void run() { new Frm(); }});
}
}
http://stackoverflow.com/questions/10888131/determine-windows-display-number-and-or-layout-via-java – Aubin
안녕하세요,이 링크를 보았다 는, 내 경우가있다 버튼 클릭으로 창을 기본 모니터로 이동 했으므로 Panel이 기본 모니터에 이미있는 경우에는 아무런 문제가 없습니다. 좀 더 명확히 말하면, 현재 패널이있는 모니터를 식별하고 싶을 때 사용자가 모니터간에 모니터를 옮길 수 있습니다. 윈도우가 현재 어떤 모니터에 있는지 찾고 새 위치를 동일하게 설정하려고합니다. 어떻게 GraphicsConfiguration을 사용하여이 작업을 수행 할 수 있습니까? 나는 Javadocs에서 그것을 이해할 수 없었다. – vumaasha
http://tackoverflow.com/questions/1248386/how-do-i-determine-which-monitor-a-swing-mouse-event-occurs-in 위의 스레드가 도움이되었습니다. – user111093