Я пытаюсь построить окно с одним изображением, которое закрывает экран. Изображение представляет собой JLabel, а окно - JFrame. Пробовав бесчисленные способы и несколько раз просматривая несколько руководств, я не понял, как это сделать. Я согласен, это очень простой вопрос, но я просто не понимаю, как я могу подойти к этой проблеме. Вот мой код, я попытался (я заметил некоторые вещи, которые я проделывали ранее):Ошибка при построении простого окна?
package Buttons;
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
import java.awt.GridLayout;
public class Mewindow extends JFrame {
private JFrame mewindow;
private JLabel mepic = new JLabel(new ImageIcon("me.png"));
public Mewindow() {
super("Here is a picture of ME!");
mewindow.setLayout(new GridLayout(1, 0, 0, 0));
// Icon me = new ImageIcon(getClass().getResource("me.png"));
add(mepic);
mewindow.setVisible(true);
mewindow.setSize(250, 250);
mewindow.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
}
Большое вам спасибо за время, вы принимаете для чтения этого, я действительно ценю усилия, которые вы ставите в помощь один программист!
Спасибо, это было очень хорошо объяснено. Думаю, я должен был прямо поместить изображение в JLabel! Что вы подразумеваете под «Не распространяетесь прямо из JFrame, вместо этого используйте JPanel, а затем добавляете это в экземпляр JFrame, ваш код будет более повторно использоваться»? Кроме того, мое изображение не заполняет все окно, почему? Это может быть сам образ, хотя ...? –
Обычно не рекомендуется распространяться из контейнера верхнего уровня, поскольку он блокирует вас в одном случае, и вы не добавляете никаких новых функций в класс. Он также включает в себя множество других проблем управления, которые лучше всего оставить для реализации. 'JLabel' не масштабирует изображение, на самом деле, ни один компонент Swing, вместо этого вам нужно реализовать свои функции самостоятельно. – MadProgrammer
Посмотрите на [этот пример] (http://stackoverflow.com/questions/14548808/scale-the-imageicon-автоматически-to-label-size/14553003 # 14553003) и [этот пример] (http://stackoverflow.com/questions/11959758/java-maintaining-aspect-ratio-of-jpanel-background -image/11959928 # 11959928) и [этот пример] (http://stackoverflow.com/questions/14115950/quality-of-image-after-resize-very-low-java/14116752#14116752) – MadProgrammer