| Author |
set pixel in frame
|
Tian Zhang
Greenhorn
Joined: Mar 23, 2005
Posts: 24
|
|
hi there! i have a class that extends JFrame, i was wondering if it is possible to set (draw) individual pixels within the frame, i.e. something that looks like: at the moment i'm considering (which is probably inefficient): thanks, tian.
|
 |
Campbell Ritchie
Sheriff
Joined: Oct 13, 2005
Posts: 32599
|
|
I haven't tried drawing a line like that for some time, but as far as I can remember, you don't even try it on a JFrame. You add a JPanel to the JFrame, and put such drawing into the paintComponent(Graphics g) method. Two warningsYou have to put super.paintComponent(); as the first line of your method.There is also a paintComponents() method, so don't get confused with it.Then you get a Graphics object in the method, which makes it easy to write g.drawLine(x1, y1, x2, y2); [ September 19, 2006: Message edited by: Campbell Ritchie ]
|
 |
Tian Zhang
Greenhorn
Joined: Mar 23, 2005
Posts: 24
|
|
thanks for your reply! i currently have what you suggested in my code - but ommitted them from the code listing for simplicity. is there a method in the Graphics class to paint individual pixels, or will i need to paint lines with length 1? tian
|
 |
Nathan Pruett
Bartender
Joined: Oct 18, 2000
Posts: 4121
|
|
|
Nope - no method in the graphics class to draw a pixel - you have to draw a line of length 1.
|
-Nate
Write once, run anywhere, because there's nowhere to hide! - /. A.C.
|
 |
Tian Zhang
Greenhorn
Joined: Mar 23, 2005
Posts: 24
|
|
thanks, i had feared as much. perhaps the overhead of drawing length 1 lines isnt as bad as i thought. tian
|
 |
Campbell Ritchie
Sheriff
Joined: Oct 13, 2005
Posts: 32599
|
|
|
Lines of length 0, surely?
|
 |
Tian Zhang
Greenhorn
Joined: Mar 23, 2005
Posts: 24
|
|
hi there! the code will be something like: which will draw pixel at (x, y) so i guess it is length zero (length:=sqrt((x1 - x2)^2 + (y1 - y2)^2) - as defined by the eucledian metric). tian [ September 21, 2006: Message edited by: Tian Zhang ]
|
 |
 |
|
|
subject: set pixel in frame
|
|
|