Я пытаюсь сделать стандартную форму для простых игр, но каждый раз, когда я пытаюсь скомпилировать его на мой макинтош, он говорит:осуждается перекрасить() на макинтош
move.java:31: error: unreachable statement
repaint();
^
Note: move.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 error
Когда я попытался скомпилировать его компьютер с Windows, он работал отлично! Я не могу найти ничего об этом, и, согласно веб-сайту java, метод repaint() не устарел! Это мой код:
import java.awt.*;
public class move extends java.applet.Applet implements Runnable {
Image osI;
Graphics osG;
Thread runner;
char currkey;
int x;
int y;
public void init() {
x = 0;
y = 1;
setBackground(Color.yellow);
osI = createImage(size().width, size().height);
osG = osI.getGraphics();
}
public void start() {
if (runner == null) {
runner = new Thread(this);
runner.start();
}
}
public void run() {
while (true) {
y = 1;
}
repaint();
try { Thread.sleep(1000); }
catch (InterruptedException e) { }
}
public void stop() {
if (runner != null) {
runner.stop();
runner = null;
}
}
public boolean keyDown(Event evt, int key) {
switch (key) {
case Event.DOWN:
x = 1;
break;
}
repaint();
return true;
}
public void paint(Graphics g) {
if (x == 1) {
g.drawString("x is 1!!!", 150, 150);
} else {
g.drawString("x is geen 1!!!", 150, 150);
}
if (y == 1) {
g.drawString("y is 1!!!", 150, 175);
} else {
g.drawString("y is geen 1!!!", 150, 175);
}
g.drawImage(osI, 0, 0, this);
osG.setColor(getBackground());
osG.fillRect(0, 0, size().width, size().height);
osG.setColor(getForeground());
}
}
Недостатки и недостижимый код не связаны. Кстати, вы можете сделать то, что он предлагает: «Перекомпиляция с -Xlint: устаревание для деталей». Если это вас беспокоит. –
Это не говорит о том, что 'repaint' устарел, он говорит, что ваш вызов' repaint(); 'недостижим, а также что * something * устарел (и использовать параметр командной строки' -Xlint: устаревший', если вы хочу посмотреть подробности) – immibis