Java Torpedó játék, amely a Graphics osztállyal rajzolgat. Hogyan tudok egy másik osztályból rajzolgatni?
Sziasztok!
Először is az alap Graphics-t használó osztályom amely kirajzolja a négyzethálót a Grid elnevezésű osztály.
Mit kell ahhoz tennem, hogy egy külső osztályból (pl.: Game) tudjak a Grid-re rajzolgatni (keresztet, kört...).
Próbáltam úgy, hogy a Grid osztályon belül csináltam egy public static Graphics globalGraph; nevű változót amely a Grid osztály Graphics másolatát hivatott tartani, majd ennek segítségével a Game osztályban rajzolni egy kört de ez sikertelen volt :(
Segítségeket előre is köszönöm szépen
Aww sh!t men.
Nem torpedó hanem amőba (TicTacToe)
Sorry
Értem, de hogyan tudom ezt megvalósítani, ha maga a Graphics csak a paintComponent()-ben lévő dolgokat rajzolja ki?
Van egy grid objektumom valahol amellyel megtudom hívni a paintComponent-et?
................................
import java.awt.Graphics;
import javax.swing.JPanel;
public class Grid extends JPanel{
........private final int ITEM_WIDTH = 30;
........private final int ITEM_HEIGHT = 30;
........private final int OUTER_WIDTH = 90;
........private final int OUTER_HEIGHT = 90;
........public void paintComponent(Graphics g){
................super.paintComponent(g);
................drawOuter(g);
................drawGrid(g);
........}
........public void drawOuter(Graphics g){
................g.drawRect(0, 0, OUTER_WIDTH, OUTER_HEIGHT);
........}
........public void drawGrid(Graphics g){
................//Vertikális
................for(int i = ITEM_WIDTH; i < OUTER_WIDTH; i += ITEM_WIDTH){
........................g.drawLine(i, 0, i, OUTER_HEIGHT);
................}
//Horizontális
................for(int i = ITEM_HEIGHT; i < OUTER_HEIGHT; i += ITEM_HEIGHT){
........................g.drawLine(0, i, OUTER_WIDTH, i);
................}
........}
}
Szerintem oldd meg úgy, hogy a Grid .paintComponent(Graphics) metódusban a Game példányon az összes mezőt lekérdezed, hogy milyen jel áll ott (kör, kereszt, vagy semmi), és itt rajzold ki a mezőket.
Egyébként csak a static final változókat szokás csupa nagybetűvel írni.
Nem te vagy az aki a
http://www.gyakorikerdesek.hu/szamitastechnika__programozas_..
kérdést feltette (csak kíváncsiságból kérdezem)?
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!