Я пытаюсь сделать JLabel автоматически изменением размера, когда размер JFrame изменяется. Я попытался сделать то, что сказали ответы на другие потоки, но все они по-прежнему выглядят одинаково. Всякий раз, когда я максимизирую окно, JLabel остается того же размера и остается в центре. Я использую GridBagLayout. Я также попытался использовать Thread для постоянного обновления размера JLabel, но это не сработало. JLabel содержит ImageIcon, и я думаю, что размер изображения может привести к тому, что JLabel не будет изменять размер. Любые идеи?Изменить размер JLabel для соответствия JFrame
EDIT: Вот мой текущий код:
setLayout(new GridBagLayout());
GridBagConstraints gc=new GridBagConstraints();
gc.fill=GridBagConstraints.HORIZONTAL;
gc.gridx=0;
gc.gridy=0;
background=new JLabel(new ImageIcon(getClass().getResource("ingame.gif")));
add(background, gc);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
background.addMouseMotionListener(this);
И JFrame выглядит следующим образом:
http://i.stack.imgur.com/i8iJm.png
Когда JLabel в фоновом режиме, как предполагается, чтобы заполнить весь JFrame.
* Любые идеи * Да, пожалуйста, поделитесь, что вы пробовали, или даже лучше включать [MCVE] (HTTP: // WWW. stackoverflow.com/help/mcve), демонстрирующий вашу проблему. – dic19
Один из способов получения изображений для примера, предложенный @ dic19, - это горячая ссылка на изображения, видимые в [этом Q & A] (http://stackoverflow.com/q/19209650/418556). –
1.GridBagLayout не будет работать в этом случае. Используйте BorderLayout. 2. Если вы ожидаете изменить размер изображения тоже, тогда вам нужно использовать панель вместо метки. –