【问题标题】:My lines don't go where they are supposed to go [duplicate]我的台词没有去他们应该去的地方[重复]
【发布时间】:2014-05-20 15:59:39
【问题描述】:

线条应该在 (a,0) 所在的右上角。我无法解决。我正在使用 Eclipse 3.65。

public class Ikibin extends JFrame{

int a = 400;
int b = 600;

public Ikibin()
{

    setTitle("Tutorial");
    setSize(a,b);
    setVisible(true);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
}

public void paint(Graphics g)
{
    g.setColor(Color.blue);
    g.drawLine(0, 0, 0, b);
    g.drawLine(a/4, 0, a/4, b);
    g.drawLine(a/2, 0, a/2, b);
    g.drawLine(3*a/4, 0, 3*a/4, b);
    g.drawLine(0, 0, a, 0);
    g.drawLine(0, b/4, a, 0);
    g.drawLine(0, b/2, a, 0);
    g.drawLine(0, 3*b/4, a, 0);
}


public static void main (String [] args)
{
    Ikibin i = new Ikibin();
}
} 

【问题讨论】:

  • 看起来它们是,但它们将指向窗口的 0,0,而不是画布。
  • 但是画布以 (a,0) 结束,并且行也转到 (a,0)。这怎么可能发生?谢谢你的回答。
  • "Swing 程序应该覆盖paintComponent(),而不是覆盖paint()。"—Painting in AWT and Swing: The Paint Methods

标签: java swing graphics jframe


【解决方案1】:

您将其设置为 0,这是它所在的位置,但 X 仍然是 /4 或 / 2 左右。所以基本上你是在选择的地方让它去。如果您希望它们全部位于右上角,那么代码的编写方式就是它们的去向,那么您只需将 x 保留为 400。或者在您的情况下为 A = 400。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-22
    • 1970-01-01
    相关资源
    最近更新 更多