所以我在製作一款遊戲,我是一個相當凌亂的工人,然後我回去整理它。所以請忽略任何愚蠢的命名約定或方法或任何東西。當我回來後收拾整理。畫到畫布
所以基本上我試圖做一個主菜單,我只是想畫一些東西到屏幕上,並讓它留在那裏。我正在將圖形寫入圖像ATM並顯示圖像,因爲我試圖畫到畫布上,它只是閃到屏幕上,然後變成空白。我改變它爲可運行的,所以我可以放入睡眠()嘗試和錯誤狩獵。我現在刪除了所有的錯誤搜索代碼。事實證明,當我在屏幕上放置圖像超過50ms之前或之後有睡眠()時,該矩形停留在屏幕上,並且在繪製後不會像閃爍1ms那樣閃爍。
我不知道發生了什麼事。我可能不太清楚,我很抱歉。
import java.awt.Canvas;
import java.awt.Graphics;
import javax.swing.JFrame;
public class test extends Thread{
public static void main(String[] args){
test t = new test();
t.start();
}
@Override
public void run() {
JFrame f = new JFrame("Test");
Canvas c = new Canvas();
Graphics g;
c.setSize(400, 400);
f.add(c);
f.pack();
f.setVisible(true);
c.setVisible(true);
try {
sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
g = c.getGraphics();
g.drawRect(10, 10, 40, 68);
}
}
歡迎來到Stack Overflow!考慮提供一個[可運行示例](https:// stackoverflow。com/help/mcve),這將演示你的問題,這將減少猜測工作併產生更好的響應 – MadProgrammer
另外,你有什麼理由使用Swing使用基於AWT的組件嗎? – MadProgrammer
就像我說的原諒我的不高興,我生疏,並沒有特別熟練的第一位。我現在寫一個可運行的代碼... – user3765631