如何解决Graphics.drawString() 不在屏幕上绘制任何东西
我正在尝试使用 Graphics.drawString()
绘制字符串。但由于某种原因,屏幕上什么也没有显示。例如,绘制矩形有效,但 drawString()
无效。
这是我的代码:
public class Main extends JFrame {
public static void main(String[] args) {
new Main();
}
public Main() {
this.setSize(350,500);
this.setVisible(true);
}
@Override
public void paint(Graphics g) {
super.paint(g);
//Nothing is drawn on the screen.
g.setColor(Color.RED);
g.setFont(new Font("Arial",Font.BOLD,25));
g.drawString("Hello",10,10);
}
}
解决方法
当使用 Graphics
类在 Component
上绘制任何东西时,您应该知道一件重要的事情:
虽然 drawRect(int x,int y,int width,int height)
方法中的 x
和 y
是左上角,但在 drawString(String s,int x,int y)
中,x
和y
是左下角。
此外,当您在 JFrame
中绘制任何内容时,位置从 JFrame
标题的左上角开始,因此第一个可绘制像素在点 (~8,~28),这在每个操作系统中都不同。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。