Jak narysować obraz do JPanel lub JFrame, już przeczytałem tutorial oracle'a na ten temat, ale nie mogę tego naprawić. Potrzebuję obrazu "BeachRoad.png
", który będzie wyświetlany na określonym zestawie współrzędnych. Oto, co mam do tej pory.Jak narysować obraz w JPanel lub JFrame?
public class Level1 extends JFrame implements ActionListener {
static JLayeredPane EverythingButPlayer;
static Level1 l1;
public Level1() {
EverythingButPlayer = new JLayeredPane();
BufferedImage img = null;
try {
img = ImageIO.read(new File("BeachRoad.png"));
} catch (IOException e) {
}
Graphics g = img.getGraphics();
g.drawImage(img,0, 0, EverythingButPlayer);
this.add(EverythingButPlayer);
}
A w main(),
l1 = new Level1();
l1.setTitle("poop");
l1.setSize(1920, 1080);
l1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
l1.setVisible(true);
Z góry dzięki!
kod jest bezpośrednia droga do kłopotów i jak nienawidzić języków programowania (whatever.getGraphics()) 1. proszę czytać poradnik Oracle [Praca z Imag es] (http://docs.oracle.com/javase/tutorial/2d/images/index.html), szukaj tutaj w postach oznaczonych przez 'paintComponent' lub' JLabel' z 'Icon' /' ImageIcon' – mKorbel
Ja już w pierwszej części pytania przeczytałem podręcznik Oracles dotyczący pracy z obrazami. I naprawdę nie mogę zrozumieć pierwszej rzeczy, którą powiedziałeś ... – Saucymeatman
zobacz odpowiedź @tieTYT, aby zacząć od paintComponent (zapomniałeś o paint()) i JPanelu, wymagane jest zastąpienie getPreferredSize (zapomniałem o JFrame.setSize()) dla JPanel, a następnie wywołaj JFrame.pack() (szukaj tutaj, połowa pytań na temat malowania obrazu, kształtów, linii) – mKorbel