-1
私はグラフィックスに関してはかなり経験の浅いので、私は、チュートリアルを試してみましたが、これで終わった:グラフィックはどのように更新しますか?
import java.awt.Canvas;
import java.awt.Graphics;
public class Ide extends Canvas implements Runnable{
private static final long serialVersionUID = 6804608149790007396L;
public static final int WIDTH = 640, HEIGHT = WIDTH/12 * 9;
private boolean running = false;
Graphics gr;
public Ide(){
new Window(WIDTH,HEIGHT,"Ide v0.1",this);
}
public synchronized void start(){
running = true;
gr = this.getGraphics();
gr.drawString("Hello", 100, 20);
}
public synchronized void stop(){
running = false;
}
public static void main(String[] args) {
new Ide();
}
}
をし、この:
import java.awt.Canvas;
import java.awt.Dimension;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
public class Window extends Canvas{
private static final long serialVersionUID = -8255319694373975038L;
public Window(int w, int h, String title, Minecraft_Function_Ide ide){
JFrame frame = new JFrame(title);
frame.setPreferredSize(new Dimension(w,h));
frame.setMaximumSize(new Dimension(w,h));
frame.setMinimumSize(new Dimension(w,h));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.add(ide);
frame.setVisible(true);
ide.start();
}
「こんにちは」正しく早くそれが、働いていましたもはやそうではありません。私はちょうど何らかのアップデートステートメントが欠けているのか、間違っているのか分かりません。
経験が豊富な人は誰でも手伝ってください。
あなたのチュートリアルは間違っています。 'getGraphics'はカスタムペインティングの仕方ではありません。あなたがしようとしていることに応じて、キャンバスから拡張することはお勧めできません。 – MadProgrammer
[AWTとスイングでのペイント]/http://www.oracle.com/technetwork/java/painting-140037.html)と[カスタム・ペイントの実行](https://docs.oracle.com/javase/tutorial/uiswing/painting/)を参照してください。どのように使用できるか – MadProgrammer
[カスタム図の実行](https://docs.oracle.com/javase)のような1つ以上の適切なチュートリアルを使って、より適切な答えを得ることができるので、/tutorial/uiswing/painting /) – MadProgrammer