簡體   English   中英

為什么我的字符串不顯示在窗口中?

[英]Why isn't my string being displayed in the window?

我正在嘗試創建一個簡單的應用程序,該應用程序顯示一個紅色圓圈,單擊該圓圈時會顯示不同的消息。 我相信這部分代碼:

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. 你應該花點時間閱讀表演自定義繪畫AWT和Swing繪畫以及2D圖形

另外,在閱讀時,您應該閱讀初始主題

修訂

正如Andrew所指出的,您應該使用@Override注釋來確保您認為重寫的方法實際上是首先被覆蓋的方法。 這將阻止程序編譯,並節省大量的時間,試圖弄清楚為什么事情沒有按照你期望的方式工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM