java - 绘制矩形、填充矩形、比例不匹配

标签 java swing graphics2d

我正在尝试做一些非常简单的绘图,但我似乎无法得到我需要的结果。

    /* Draw Title Bar */
    int w = window.getWidth();
    int h = 10;
    g2d.setColor(Color.blue);

    BasicStroke stroke = new BasicStroke(1.0f,BasicStroke.CAP_BUTT,
            BasicStroke.JOIN_MITER);
    g2d.setStroke(stroke);


    g2d.fillRect(window.getX(), 
            window.getY(), w, h);



    /* Draw Window Border */
    g2d.setPaint(Color.blue);
    g2d.drawRect(window.getX(), 
            window.getY()+h, 
            window.getWidth(), 
            window.getHeight());
    g2d.setColor(Color.red);
    g2d.drawLine(window.getX(), 50, window.getX()+window.getWidth(), 50);

使用 g2d.scale(2.0, 2.0) 结果如下:

enter image description here

它没有正确排列。当scale=1.0时,它在左侧正确对齐,但在右侧却偏离了。这是缩放的问题吗?我知道 fillRect 和 drawRect 的边缘是 x+w+1/x+w 但即使您对此进行调整,它仍然无法正确对齐。

最佳答案

除了填充上面的矩形之外 - 您还应该绘制它。正如你所看到的,他没有边界。

关于java - 绘制矩形、填充矩形、比例不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39707370/

相关文章:

java - 设置数学函数的格式

java - 将 Jbutton 添加到 Jpanel

java - Graphics2D 和 JComponent

java - 最佳测试框架

java - 如何仅在java中获取特定标签的Jsoup消息?

java - 无法将数据从 JTable 插入数据库

java - 将动画 gif 从 JAR 文件加载到 ImageIcon

java - 向JFrame添加graphics2d

java - 检测Java中Graphics2D对象的变化

java - 在 Spring MVC 中,在哪里启动和结束计数器来测试速度执行时间?