java - 关于在屏幕上放置矩形

标签 java swing jframe jpanel

我有一个 JFrame 和一个扩展 JPanel 并重写 paintComponent() 的类(名为 DrawingPanel)。 DrawingPanel 的实例被添加到 JFrame 中。

这是 DrawingPanelpaintComponent() 方法:

public void paintComponent(Graphics g){
    super.paintComponent(g);
    Graphics2D g2d = (Graphics2D) g;
    Rectangle rect = new Rectangle(80,180,50,50);
    g2d.fill(rect);
}

我运行了程序,似乎在创建rect时指定了坐标80、180,引用了包含DrawingPanel<实例的JFrame/。我希望这些坐标引用实际绘制矩形的 JPanel

1)事情应该是这样吗?

2)可以改变这个吗?

谢谢

最佳答案

I would expect that these coordinates would refer to the JPanel where the rectangle is actually painted.

它们确实指的是 JPanel,而不是框架。

你认为他们为什么会提到框架?发布您的SSCCE这说明了问题。

关于java - 关于在屏幕上放置矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20790103/

相关文章:

java - 如何从左角到右角创建jlist?

Java - 额外的窗口按钮

java - 具有不可见构造函数的公共(public)类可以由另一个包中的类扩展吗?

java - 从两个数据库表获取结果并在 Java 中设置它和另一个 Jframe?

java - 找到数组中最小的整数,然后将其与第一个单元格交换

java - Java 中的 List<String> 错误

java - 物质外观的问题

java - JPanel 上的 drawImage() 或在 GridLayout 顶部添加图像

java - 从不同于 GUI 的类更新 TextField

Java Netbeans - Key Listener 不起作用