File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Swing / AWT / SWT and the fly likes set pixel in frame Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "set pixel in frame" Watch "set pixel in frame" New topic
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: 38792
    
  23
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 warnings
  • You 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: 38792
        
      23
    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 ]
     
    I agree. Here's the link: http://aspose.com/file-tools
     
    subject: set pixel in frame