我正在使用Java编写程序,而我在W8中遇到标题栏问题。出于某种原因,co-ords(0,0)已经启动并隐藏在标题栏中。如果我想在(0,0)绘制一些东西,我必须将Graphics对象转换为(0,10)才能使它出现。
我目前有:
g.setColor(Color.BLACK);
g.fillRect(0, 0, Config.WIDTH + 10, Config.HEIGHT + 10);
g.translate(0, 10);
g.setColor(Color.WHITE);
g.setFont(fonts.getFont(0));
g.drawString("FPS: " + scr.fps, 0, 0);
这很有效,但是我想要移除g.translate(0, 10);
,这条线最终会导致问题。
答案 0 :(得分:0)
此问题与Windows 8无关,但事实上您已覆盖顶级容器的paint
。
框架边框在窗口的边界内绘制。
框架有一个内容窗格,应该用于布局内容或执行自定义绘制。
不要覆盖顶级容器的paint
,而是创建一个自定义组件(从JPanel
扩展)并覆盖它的paintComponent
方法。
然后,您可以将其添加到框架内容窗格或替换框架内容窗格
退房......
进一步说明