use*_*258 1 java swing paint jframe repaint
为什么这不起作用?它向我展示了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();
}
}
Run Code Online (Sandbox Code Playgroud)
您正在JFrame此行中创建通用:
JFrame frame = new JFrame();
Run Code Online (Sandbox Code Playgroud)
你想要做的是:
JFrame frame = new runpaintgui();
Run Code Online (Sandbox Code Playgroud)
然后你的paint()方法将被调用.
你必须实例化你的类而不是JFrame类.
更改:
JFrame frame = new JFrame();
Run Code Online (Sandbox Code Playgroud)
至
runpaintgui frame = new runpaintgui();
Run Code Online (Sandbox Code Playgroud)
然后你的paint()方法将被调用.
别叫repaint()在paint.因为repaint()打电话paint.