Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania i odpowiedzi
Viewing all articles
Browse latest Browse all 83231

Java - W Panelu nie wyświetlają się grafiki.

$
0
0

Piszę prostą grę kółko i krzyżyk. Wymyśliłem że grafikę będzie obsługiwała klasa dziedzicząca po JPanel, do programu wczytałem pliki jako obiekt BufferedImage. Podczas wywoływania metody PaintComponent wykonuję się metoda DrawImage. Następnie chcę dodać 9 obiektów typu Pole do nowego JPanelu i tu pojawia się problem, gdy do obietku JFrame dodam mój Panel obiekty typu Pole nie wyświetlają grafiki a jedynie coś (przesyłam zdjęcię)

import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;
class TicTacToe
{
	JPanel Plansza;
	JFrame ramka;
	BufferedImage nic;
	BufferedImage kolko;
	BufferedImage krzyzyk;
	BufferedImage mkolko;
	BufferedImage mkrzyzyk;
	Pole pola;
	
			class Pole extends JPanel
		{
			String stan;
			public void paintComponent(Graphics g)
			{
				//instrukcje warunkowe sprawdzające stan pola // w zaleznosci od stanu będą rysowane inne zdjecia
				Graphics2D g2d = (Graphics2D) g;
				g2d.drawImage(nic, 0, 0, this);
			}
		}
		
		//Klasa jest wewnętrzna poniewaz musi ona korzystać ze składowych wystepujacych w klasie TicTacToe
	
	
	public static void main(String[] args)
	{
		TicTacToe kik = new TicTacToe();
		kik.przygotuj_zdjecia();
		kik.do_dziela();
	}
	public void przygotuj_zdjecia()
	{
		
		Plansza = new JPanel();
		
		File Fnic = new File("nic.bmp");
		try
		{
			nic = ImageIO.read(Fnic);
		}
		catch(IOException x){;}
		
		File Fkolko = new File("o.bmp");
		try
		{
			kolko = ImageIO.read(Fkolko);
		}
		catch(IOException x){;}
		
		File Fkrzyzyk = new File("x.bmp");
		try
		{
			krzyzyk = ImageIO.read(Fkrzyzyk);
		}
		catch(IOException x){;}
		
		File Fmkolko = new File("osmall");
		try
		{
			mkolko = ImageIO.read(Fmkolko);
		}
		catch(IOException x){;}
		
		File Fmkrzyzyk = new File("xsmall");
		try
		{
			mkrzyzyk = ImageIO.read(Fmkrzyzyk);
		}
		catch(IOException x){;}
		
	}
	public void do_dziela()
	{
		
		Plansza.add(new Pole());
		
		ramka = new JFrame("TicTacToe");
		ramka.setSize(500,500);
		ramka.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		ramka.getContentPane().add(Plansza);
		ramka.setVisible(true);
	}
}


Viewing all articles
Browse latest Browse all 83231

Trending Articles


Sprawdź z którą postacią z anime dzielisz urodziny


MDM - Muzyka Dla Miasta (2009)


Częstotliwość 3.722MHz


POSZUKIWANY TOMASZ SKOWRON-ANGLIA


Ciasto 3 Bit


Kasowanie inspekcji Hyundai ix35


Steel Division 2 SPOLSZCZENIE


SZCZOTKOWANIE TWARZY NA SUCHO


Potrzebuje schemat budowy silnika YX140


Musierowicz Małgorzata - Kwiat kalafiora [audiobook PL]