为什么这不起作用?它向我展示了GUI但不是画面。我如何将其更改为两个类?
import java.awt.Graphics;
import javax.swing.JFrame;
public class runpaintgui extends JFrame{
public static void main(String[] args){
JFrame frame = new JFrame();
frame.setSize(5000,2000);
frame.setResizable(false);
frame.setTitle("game");
frame.setVisible(true);
}
public void paint(Graphics g){
super.paint(g);
g.drawString("adsf",40,45);
g.draw3DRect(50, 30, 600, 700, true);
repaint();
}
}
答案 0 :(得分:5)
您正在此行中创建通用JFrame
:
JFrame frame = new JFrame();
您想要做的是:
JFrame frame = new runpaintgui();
然后将调用paint()
方法 。
答案 1 :(得分:5)
您必须实例化您的课程,而不是JFrame
课程。
变化:
JFrame frame = new JFrame();
到
runpaintgui frame = new runpaintgui();
然后将调用paint()
方法 。
请勿在{{1}}中致电repaint()
。因为paint
会调用repaint()
。