0
我有Jpanel,它是最大化的按鈕單擊。我通過將尺寸設置爲屏幕尺寸然後調用setLocationRelativeTo(null)來實現。這工作正常,如果我在主監視器中的面板,但當面板在其他監視器上按鈕單擊總是使面板移動到主監視器。有沒有辦法獲得面板的當前使用的監視器,並使用相同的新位置。提前致謝。java awt setLocationRelativeTo與多個監視器p
我有Jpanel,它是最大化的按鈕單擊。我通過將尺寸設置爲屏幕尺寸然後調用setLocationRelativeTo(null)來實現。這工作正常,如果我在主監視器中的面板,但當面板在其他監視器上按鈕單擊總是使面板移動到主監視器。有沒有辦法獲得面板的當前使用的監視器,並使用相同的新位置。提前致謝。java awt setLocationRelativeTo與多個監視器p
我家裏只有一個屏幕,星期一會回到我的工作,但下面的代碼將Windows 7 64位下的JFrame的標題設置爲「\ Display0」。我想這個字符串是屏幕的ID,第二個屏幕被命名爲「\ Display1」。
我建議運行多屏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
嗨, 我已經看到了這個鏈接,在我的情況有因爲按鈕點擊將窗口移動到主監視器,所以如果面板已經在主監視器中,則不存在問題。爲了更清楚,我想識別面板當前的顯示器,用戶可以在顯示器之間移動它。我想找到當前窗口在哪個監視器中,並將新位置也設置爲相同。如何使用GraphicsConfiguration完成這項工作?我無法從Javadocs中找到它。 – vumaasha
http://stackoverflow.com/questions/1248386/how-do-i-determine-which-monitor-a-swing-mouse-event-occurs-in 繼上面的線程幫助 – user111093