[英]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.