我有 Jpanel,它在单击按钮时最大化。我通过将尺寸设置为屏幕大小然后调用 setLocationRelativeTo(null) 来做到这一点。如果我在主监视器中有面板,这很好用,但是当面板在其他监视器上时,单击按钮总是使面板移动到主监视器。有没有办法获取当前使用的面板监视器并将其用于新位置。提前致谢。
问问题
1686 次
1 回答
0
我家里只有一个屏幕,周一会回到工作岗位,但以下代码在 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(); }});
}
}
于 2012-11-29T22:22:32.987 回答