簡體   English   中英

使用super.paint()不會顯示任何內容

[英]Using super.paint() won't show anything

我知道這可能很簡單,但這給我帶來了麻煩。 當我使用paint()時,它什么也不顯示,如果我使用paintComponent(),則顯示錯誤(找不到符號)。 我究竟做錯了什么?

這是使用paint()的示例:

import javax.swing.*; 
import java.awt.Graphics; 
import java.awt.*; 

public class Test extends JFrame {

    public Test() {
        this.setPreferredSize(new Dimension(400, 400));
        this.pack();
        this.setVisible(true);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    @Override
    public void paint(Graphics g) {
        super.paint(g);

        // define the position
        int locX = 200;
        int locY = 200;

        // draw a line (there is now drawPoint..)
        g.drawLine(locX, locY, locX, locY); 
    }

    public static void main(String[] args) {
        Test test = new Test(); 
    }
}

注釋說這是一個不錯的簡單代碼,但是我什么也看不到,因為它什么也沒顯示。

[已解決]對於所有回答的人,謝謝。 大聲笑我兄弟,我真的沒注意到有一個小點。 棒極了,謝謝。

您的代碼不是推薦的做事方式,但除此之外,它還是可以工作的。

您沒有設置要繪畫的顏色,而是繪制了一個點。 您可能只是沒有看到它(我不得不看兩次)。 它在200、200處繪制一個黑色像素。

我敢打賭,問題在於您只畫了一個點,所以很難看到。 您的代碼對我來說很好。

但是,您應該擴展JPanel,而不是JFrame。 推薦閱讀: http : //docs.oracle.com/javase/tutorial/uiswing/painting/

暫無
暫無

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

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