Java 图形drawxxx方法不起作用
我不熟悉图形。 我从开源软件中获得了这段代码。它应该在jframe上绘制字符串“HEeelo”,但它没有。有人能解释为什么它不能正常工作以及绘制方法的原理吗?为什么它应该编辑jframe,因为它只是一个甚至没有从main调用的方法Java 图形drawxxx方法不起作用,java,swing,Java,Swing,我不熟悉图形。 我从开源软件中获得了这段代码。它应该在jframe上绘制字符串“HEeelo”,但它没有。有人能解释为什么它不能正常工作以及绘制方法的原理吗?为什么它应该编辑jframe,因为它只是一个甚至没有从main调用的方法 import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.event.KeyAdapter; import javax.swing.JFram
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.KeyAdapter;
import javax.swing.JFrame;
public class view extends JFrame{
public view(){
this.setSize(new Dimension(250, 250));
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void paint(Graphics g){
g.drawString("heello", 10, 10);
}
public static void main(String []args){
new view();
}
}
摆脱那个教程,那不是画画的方法 首先,基本问题是,在重写方法时,应该始终调用super.paint(…)。其次,文本不会显示,因为它是在标题栏下绘制的。您需要增加y偏移:
super.paint(g);
g.drawString("heello", 10, 40);
以及涂料法的原理
请阅读上Swing教程中的部分,了解正确的方法。基本上,您可以覆盖JPanel的paintComponent()
方法,然后将面板添加到框架中。您不应该直接在框架上进行自定义绘制