2016-04-08 6 views
-1

В настоящее время я создаю игру, и я не знаю, как сделать главное меню. Я не знаю, как разместить текст на фоне GIF. Теперь вещь, когда я пытаюсь поставить их на Стараюсь этот код:Как разместить два компонента в одном и том же месте

private void initializeDisplay() { 
    playBtn.setBorderPainted(false); 
    playBtn.setFocusPainted(false); 
    playBtn.setContentAreaFilled(false); 
    playBtn.setText("PLAY"); 
    playBtn.setFont(new Font("Poiret One", Font.TRUETYPE_FONT, 27)); 
    playBtn.setForeground(Color.WHITE); 

    mainPanel.add(playBtn); 
    mainPanel.add(bgImg); 

    mainPanel.setLayout(new GridBagLayout()); 

    bgImg.setLocation(new Point(200, 200)); 

    mainPanel.setOpaque(true); 
    mainPanel.addKeyListener(new Keyboard()); 
    mainPanel.addMouseListener(new Mouse()); 
    mainPanel.setFocusable(true); 
} 

Кроме того, когда я делаю, что я использую GridBagLayout для типа макета, но кажется, что я не получаю результат я хочу, проблема заключается в том, что кнопка не является изображением в фоновом режиме, потому что это появляется, но кнопка не появляется.

+0

Было бы хорошо, если вы можете разместить изображение! –

+0

Вы можете использовать 'JLayeredPane' для размещения компонентов друг над другом. Вы можете найти более подробную информацию здесь https://docs.oracle.com/javase/tutorial/uiswing/components/layeredpane.html – Titus

+0

Спасибо Titus, а также Paulo Pedroso, его полноэкранный режим, и мой экран несовместим с дисплеем, поэтому я не могу взять пока не сделаю их совместимыми – Hydrox

ответ

0

Вы также можете добавить изображение в поле значка jlabel, а затем добавить ярлык в панель содержимого вашей панели.

Это сообщение объясняет больше:

How to set a background picture in JPanel

Смежные вопросы