我正在尝试创建一个简单的应用程序,该应用程序显示一个红色圆圈,单击该圆圈时会在其下显示不同的消息。我相信这部分代码:
g.drawString("DO NOT PRESS", 100, 100);
编码正确,但打开的窗口上没有显示任何文本。到目前为止,这是完整的代码:
import java.awt.Graphics;
import javax.swing.JFrame;
public class BigRedButton extends JFrame {
public BigRedButton() {
setTitle("Big Red Button");
setSize(500, 500);
setResizable(false);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void graphics(Graphics g) {
g.drawString("DO NOT PRESS", 100, 100);
}
public static void main(String[] args){
new BigRedButton();
}
}
答案 0 :(得分:4)
graphics
中没有此类方法JFrame
,因此没有任何方法可以调用它。JPanel
扩展)并覆盖它的paintComponent
方法。此外,在您阅读时,您应该阅读Initial Threads
<强>修订强>
正如安德鲁所指出的那样,你应该使用@Override
注释来确保你认为你重写的方法实际上是首先被覆盖的方法。这将阻止程序编译,并节省大量的时间,试图弄清楚为什么事情没有按照你期望的方式工作。