Я читаю код java tutorial по 2d игровому дизайну и наткнулся на это утверждение.Может ли новый экземпляр измерения быть инициализирован внутри использования метода, и если да, то почему?
setPreferredSize (новое измерение (B_WIDTH, B_HEIGHT))
Я не понимаю, как новый экземпляр измерения может быть инициализирован в использовании метода setPrefferedSize(). Я даже не уверен, использую ли я весь правильный лексикон, но если кто-то поймет, что я прошу помощи, это будет оценено =). Ниже приведен полный код
общественный класс Board расширяет JPanel {
private final int B_WIDTH = 350;
private final int B_HEIGHT = 350;
private final int INITIAL_X = -40;
private final int INITIAL_Y = -40;
private final int INITIAL_DELAY = 100;
private final int PERIOD_INTERVAL = 25;
private Image star;
private Timer timer;
private int x, y;
public Board() {
initBoard();
}
private void loadImage() {
ImageIcon ii = new ImageIcon("star.png");
star = ii.getImage();
}
private void initBoard() {
setBackground(Color.BLACK);
setPreferredSize(new Dimension(B_WIDTH, B_HEIGHT));
setDoubleBuffered(true);
loadImage();
x = INITIAL_X;
y = INITIAL_Y;
timer = new Timer();
timer.scheduleAtFixedRate(new ScheduleTask(),
INITIAL_DELAY, PERIOD_INTERVAL);
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
drawStar(g);
}
private void drawStar(Graphics g) {
g.drawImage(star, x, y, this);
Toolkit.getDefaultToolkit().sync();
}
private class ScheduleTask extends TimerTask {
@Override
public void run() {
x += 1;
y += 1;
if (y > B_HEIGHT) {
y = INITIAL_Y;
x = INITIAL_X;
}
repaint();
}
}
}
Вы можете инициализировать любой класс в методе, который принимает ссылку на этот класс ... тонны примеров в google. Что именно вы не понимаете по этому поводу? – chancea