0
我正在研究Java中的程序,并且在W8中的标题栏遇到问题。出于某种原因,协调人(0,0)已经启动并隐藏在标题栏中。如果我想在(0,0)处绘制某些东西,我必须将Graphics对象转换为(0,10)以使其显现。Java和Windows 8工具栏
我目前有:
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);
柜面此行结束了以后造成的问题。
我画到这是画到一个JFrame一个JPanel,因此为什么(0,10)是左上角和不(8.38)。发现我出于某种原因正在使用的字体想要开始绘制它应该在-10像素以上的位置。感谢您的回复! – Sakki
这是因为字体想要在上行线('FontMetrics#getAscent')开始渲染。看看[使用文本API,测量文本](http://docs.oracle.com/javase/tutorial/2d/text/measuringtext.html)和['FontMetrics'](http://docs.oracle.com) .com/javase/7/docs/api/java/awt/FontMetrics.html)以获取更多详细信息 – MadProgrammer