Я рисую строку на экране пользователя и хочу переместить эту строку, но она не меняет положение. Это мой код
public static int x = 200, y = 200;
public static Window draw() {
Window w = new Window(null) {
@Override
public void paint(Graphics g) {
super.paint(g);
System.out.println("repainting");
final Font font = getFont().deriveFont(48f);
g.setFont(font);
g.setColor(Color.WHITE);
final String message = "Hello";
FontMetrics metrics = g.getFontMetrics();
g.drawString(message, x, y);
}
@Override
public void update(Graphics g) {
paint(g);
}
};
w.setAlwaysOnTop(true);
w.setBounds(w.getGraphicsConfiguration().getBounds());
w.setBackground(new Color(0, true));
w.setVisible(true);
return w;
}
public static void main(String[] args) throws AWTException {
Window window = draw();
x = 500;
y = 500;
window.repaint();
window.invalidate();
}
}
Кажется, он не меняется текстовая позиция. Он печатает repainting
, поэтому вызывается точечный метод, и я напечатал x, y
внутри метода рисования, и он, кажется, тоже обновился, поэтому что-то не так с графикой, которая не хочет Нарисуйте новую строку.