当我尝试运行这段代码时,它会导致 JFrame 出于某种原因稍微向右移动大约 10 个像素,并且窗口的高度也超出了任务栏,而所需的效果是使其完成 AT任务栏。
我试过将 jframe 设置为未装饰,这解决了整个问题,一切都在它应该在的地方结束。但是当我将 undecorated 设置为 false 时,它似乎取代并破坏了窗口的位置。
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GraphicsEnvironment;
import java.awt.Toolkit;
import javax.swing.JComponent;
import javax.swing.JFrame;
public class Component extends JComponent
{
/**
*
*/
private static final long serialVersionUID = 1L;
public int width, height;
public int tps;
private Game game;
public Component()
{
Toolkit kit = this.getToolkit();
width = (int) kit.getScreenSize().getWidth();
height = (int) GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight();
setLayout(new BorderLayout());
setPreferredSize(new Dimension(width, height));
game = new Game(this);
add(game);
initWindow("Test", this);
}
public void initWindow(String title, JComponent component)
{
JFrame jf = new JFrame(title);
jf.setResizable(false);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.add(component);
jf.pack();
jf.setLocationRelativeTo(null);
jf.setVisible(true);
}
}
慕标琳琳
相关分类