Kezdőoldal » Számítástechnika » Programozás » Java Graphics. DrawLine /...

Java Graphics. DrawLine / drawRect miért nem működik?

Figyelt kérdés

Adott egy main class valamint egy GUI class amely konstruktor segítségével jelenít meg egy üres ablakot.

A GUI classon belül van a Graphics paint metódusa amellyel egy vonalat szeretnék kirajzolni az ablakra, de a vonal nem jelenik meg. Miért van ez?

Azért nem értem, mert a Netbeans-el készített JFrame formba ha ugyan ezeket beirom mégis megjelenik a vonal. (ugyan az a paint metódus ugyan ott...)



2013. dec. 4. 12:26
1 2
 1/11 anonim ***** válasza:
Post your code, haver.
2013. dec. 4. 13:40
Hasznos számodra ez a válasz?
 2/11 A kérdező kommentje:

package proba;


public class Proba {

public static void main(String[] args) {

GUI gui = new GUI();

}


} //Probaclass vége

______________________________________

package proba;

import java.awt.Graphics;

import javax.swing.JFrame;


public class GUI{

JFrame ablak;

Graphics g;


public void paintComponent(Graphics g){


g.drawLine(70, 70, 70, 120);

g.drawRect(90, 90, 100, 100);

}


public GUI(){

ablak = new JFrame("Graphics proba");

ablak.setSize(400,300);

ablak.setVisible(true);

ablak.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}


Tessék

2013. dec. 4. 13:45
 3/11 A kérdező kommentje:
paintComponentel és sima paint-el is próbáltam, de egyik se rajzolja ki
2013. dec. 4. 13:59
 4/11 anonim ***** válasza:

Ez a példa hátha segít.

[link]

2013. dec. 4. 14:35
Hasznos számodra ez a válasz?
 5/11 A kérdező kommentje:

Sikerült megcsinálni így:


package proba;


public class Proba {

public static void main(String[] args) {

GUI gui = new GUI();

}

}

_______________________________________________________

package proba;

import java.awt.Graphics;

import javax.swing.JFrame;


public class GUI {

JFrame ablak;

Grid grid = new Grid();


public GUI(){

ablak = new JFrame("Graphics proba");

ablak.setSize(400,300);

ablak.setVisible(true);

ablak.add(grid);

ablak.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

_____________________________________________________

package proba;


import java.awt.Color;

import java.awt.Graphics;

import javax.swing.JPanel;


public class Grid extends JPanel {


public void paintComponent(Graphics g){

super.paintComponent(g);

g.setColor(Color.BLACK);

g.drawRect(20,20,100,100);

}

}

De nem értem, hogy miért nem működik csak simán a GUI classban paint(...)-el

2013. dec. 4. 15:19
 6/11 anonim ***** válasza:
Talán mert nem a JPanelből származtattad az osztályod? (Csak tipp.)
2013. dec. 4. 15:29
Hasznos számodra ez a válasz?
 7/11 A kérdező kommentje:

Nem vágom

Nem értem azt se, hogy ha a NetBeans-el csinálok egy JFrame formot és oda bebiggyesztek egy olyat, hogy

public void paint(Graphics g){

g.drawRect(20,20,100,100);

}

akkor az meg miért működik simán

Lehet nemkéne erőltetni az oop programozást? xD

2013. dec. 4. 15:32
 8/11 anonim ***** válasza:
de, kéne, sőt, még egy kicsit jobban
2013. dec. 4. 16:26
Hasznos számodra ez a válasz?
 9/11 anonim ***** válasza:

Itt egy másik példa:

[link]


Ne add fel, csak olvass utána. (Pl. a Java/swing osztály-hierarchiának és általában az öröklésnek, virtuális metódusoknak, metódus túlherhelésnek, stb.)

És ha nem megy, lépj vissza egy egyszerűbb feladathoz.

:)

2013. dec. 4. 17:19
Hasznos számodra ez a válasz?
 10/11 anonim ***** válasza:

"

[link]

[link]

"


Nem szó szerint az ábrákra gondoltam, inkább hogy mikor miért kell adott osztályból származtatni a sajátjaidat, stb.

2013. dec. 4. 17:38
Hasznos számodra ez a válasz?
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!