Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Java IntelliJ IDEA - помогите написать код. Нужно вместо цвета фона, впихнуть свою картинку. Код ниже :

Никита Баранов Ученик (95), на голосовании 8 месяцев назад
public static void main(String[] args) {
new GameSnake().go();
}
void go(){
frame = new JFrame(TITLE_OF_PROGRAM + " : " + START_SNAKE_SIZE);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(FILLED_WIDTH * POINT_RADIUS + FILLED_DX, FILLED_HEIGHT * POINT_RADIUS + FILLED_DY);
frame.setLocation(START_LOCATION,START_LOCATION);
frame.setResizable(false);

canvasPanel = new Canvas();
canvasPanel.setBackground(Color.);

frame.getContentPane().add( BorderLayout.CENTER , canvasPanel);
frame.addKeyListener(new KeyAdapter() {

public void keyPressed(KeyEvent e) {
snake.setDirection(e.getKeyCode());
// System.out.println(e.getKeyCode());
}
});
frame.setVisible(true);

snake = new Snake(START_SNAKE_X, START_SNAKE_Y, START_SNAKE_SIZE, START_DIRECTION);
food = new Food();
Голосование за лучший ответ
Гатс Берсерков Мастер (1287) 9 месяцев назад
Тебе понадобится создать подкласс JComponent, который будет отвечать за отрисовку фона.

 import javax.swing.*; 
import java.awt.*;

class ImagePanel extends JComponent {
private Image image;

public ImagePanel(Image image) {
this.image = image;
}

@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(image, 0, 0, this);
}
}
Загрузи картинку (например, background.jpg) в проект.
Измени код следующим образом:

 public static void main(String[] args) { 
new GameSnake().go();
}

void go() {
JFrame frame = new JFrame(TITLE_OF_PROGRAM + " : " + START_SNAKE_SIZE);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(FILLED_WIDTH * POINT_RADIUS + FILLED_DX, FILLED_HEIGHT * POINT_RADIUS + FILLED_DY);
frame.setLocation(START_LOCATION, START_LOCATION);
frame.setResizable(false);

// Загрузи картинку (например, background.jpg)
Image backgroundImage = Toolkit.getDefaultToolkit().getImage("background.jpg");
ImagePanel imagePanel = new ImagePanel(backgroundImage);

frame.getContentPane().add(BorderLayout.CENTER, imagePanel);

frame.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
snake.setDirection(e.getKeyCode());
// System.out.println(e.getKeyCode());
}
});

frame.setVisible(true);

snake = new Snake(START_SNAKE_X, START_SNAKE_Y, START_SNAKE_SIZE, START_DIRECTION);
food = new Food();
}
Похожие вопросы