gpt4 book ai didi

java - 为什么我的字符串没有显示在窗口中?

转载 作者:行者123 更新时间:2023-11-29 03:32:50 24 4
gpt4 key购买 nike

我正在尝试创建一个简单的应用程序,该应用程序显示一个红色圆圈,单击该圆圈时会在其下方显示不同的消息。我相信这部分代码:

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();
}
}

最佳答案

  1. JFrame 中没有这样的方法graphics,所以没有调用它。
  2. 你应该避免直接绘制到顶层容器,除此之外,它们不是双缓冲的,绘制时会闪烁。相反,您应该创建一个自定义组件(从类似 JPanel 的东西扩展)并覆盖它的 paintComponent 方法。
  3. 你应该花时间通读Performing Custom Painting , Painting in AWT and Swing2D Graphics

此外,在阅读时,您应该通读 Initial Threads

修正案

正如 Andrew 所指出的,您应该使用 @Override 注释来确保您认为您正在覆盖的方法实际上是首先被覆盖的方法。这将阻止程序被编译,并节省大量浪费时间来弄清楚为什么事情没有按您预期的方式工作。

关于java - 为什么我的字符串没有显示在窗口中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17226627/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com