【发布时间】:2013-12-18 19:02:48
【问题描述】:
我在 Mac 上绘制矩形时遇到问题。 该代码适用于 Windows,并且在 Frame 上绘制了一个矩形,但在 mac 上,Frame 出现时没有矩形。我在两个平台上编译了完全相同的代码。
代码如下:
mainClass.java
import javax.swing.JFrame;
import java.awt.Rectangle;
public class mainClass
{
public static void main(String[] args)
{
JFrame window = new JFrame();
window.setSize(640, 480);
window.setTitle("New Window");
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setVisible(true);
drawingComponent DC = new drawingComponent();
window.add(DC);
}
}
drawingComponent.java
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JComponent;
import java.awt.Rectangle;
public class drawingComponent extends JComponent
{
public void paintComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
Rectangle rect1 = new Rectangle(5, 5, 100, 200);
g2.draw(rect1);
}
}
它们被保存到 2 个不同的 .java 文件中。我只在两个平台上编译了 mainClass.java。
感谢任何帮助!
【问题讨论】:
-
如果将 window.setVisible(true) 行设置为 main 方法中的最后一行,它会起作用吗?
-
成功了!非常感谢!您愿意解释一下为什么它可以在 windows 上运行,但在 mac 上不行吗?
标签: java macos jframe paintcomponent