Помогите новичку.

0
15 фев 2016 18:56
Учу java
Есть 3 класса:
package pack1;

import java.awt.Graphics;
import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JFrame;

import pack1.GameWindow;

public class Game {

	public static void main(String[] args) {
		
		GameWindow window = new GameWindow();
		window.init();
	}
	


}

package pack1;

import javax.swing.*;
import java.awt.*;

import pack1.MyDrawPanel;

public class GameWindow extends JPanel {
	void init(){
		JFrame gw = new JFrame();
		gw.setVisible(true);
		gw.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		gw.setSize(500, 500);
		MyDrawPanel pn = new MyDrawPanel();
		gw.getContentPane().add(pn);
		pn.setSize(20, 20);
		pn.setVisible(true);
		
	}
	
public void painComponent(Graphics g){
		
		Image im = new ImageIcon("D://icontest.png").getImage();
		g.drawImage(im, 3, 3, this);
	}
}

package pack1;

import java.awt.*;
import javax.swing.*;

public class MyDrawPanel extends JLabel {
	
	public void painComponent(Graphics g){
		
		Image im = new ImageIcon("C://test.png").getImage();
		g.drawImage(im, 3, 3, this);
	}
	
}


По-идее эта штука должна выводить во фреим картинку.. но он абсолютно пустой.
Как вывести изображение на фреим с нуля?

Ответов: 2

0
16 фев 2016 10:17
У вас в названии метода опечатка. Это должен быть paintComponent, не painComponent.
Для предотвращения такой ошибки рекомендуется использовать аннтоацию Override:
@Override
public void paintComponent(Graphics g) {
}
0
16 фев 2016 09:01
очень плохая идея грузить картинку в паинте - FPS никакой будет.
загляни на мой гит там пара игрушек для посмотреть и два фреймворка.
Модераторы: Нет
Сейчас эту тему просматривают: Нет