我正在使用javax.swing开发一个简单的gui并尝试使用命令按钮3到9绘制一些多边形,如果按下命令按钮3,它应该为你绘制一个三角形。 由于源代码有点长,所以我决定将它复制到pastebin.com
有趣的是,如果我创建一个独立类并直接调用paintComponent,它将为我绘制内容,但是当我想将它附加到另一个框架时它不起作用。
答案 0 :(得分:5)
基本问题是你要覆盖JPanel中的错误方法。你有:
@Override
public void paintComponents(Graphics g) {
但它应该是:
@Override
public void paintComponent(Graphics g) {
^
答案 1 :(得分:1)
我很确定你的问题出在主要方法中。那里你有点混乱。你制作的第一个框架是JFrame的一个实例,这不是你想要的。第二个是MyFrame的一个实例。第二帧非常小,您无法看到它,具体取决于您使用的操作系统。只需摆脱JFrame并展开MyFrame,您的代码就可以正常工作。