Answer the question
In order to leave comments, you need to log in
How to display an image on a JFrame?
Hello! Help the ne'er-do-well to bring the image to the panel (in this case, to the frame). Yes, I know how to google, I searched everywhere and found it, but for some reason the code does not want to work (the image is not displayed on the screen). Here is one example code:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main extends JPanel{
Image img = new ImageIcon("/images/butt.png").getImage();
public static void main(String[] args){
JFrame fr = new JFrame();
fr.setSize(500,500);
fr.setVisible(true);
fr.add(new Main());
}
public void paintComponent(Graphics g){
g.drawImage(img, 0, 0, null);
}
}
Answer the question
In order to leave comments, you need to log in
You have a panel that you add to the frame has zero dimensions, don't forget.
Do so.
JFrame fr = new JFrame();
//устанавливаем абсолюбтное позиционирование на фрейме
fr.setLayout(null);
fr.setSize(500,500);
Main m = new Main();
//устанавливаем размеры и координаты компонента для размещения в родителя с абсолютным позиционированием
m.setBounds(0,0,500,500);
fr.add(m);
//обязательная вещь, говорит о том что когда ты закроешь окно - и приложение тоже должно закрыться, если этого не сделать, то после закрытия окна приложение продолжит работу и будет висеть в памяти
fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fr.setVisible(true);
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question