I\'m getting null exception error while drawing image to jframe. i debug the code and check the image and frame is not null but still it is throwing NULL exception while drawin
The NPE is likely coming from here:
Graphics ga=jf.getGraphics();
as per docs:
Creates a graphics context for this component. This method will return null if this component is currently not displayable.
1) Dont use Component#getGraphics as its bad pratice/not persistent and will return null unless component is visible.
2) Rather use JPanel and override paintComponent(Graphics g) dont forget to call super.paintComponent(g); as first call in overriden paintComponent.
3) Override getPreferredSize() and return correct Dimensions to fit image being drawn.
4) add JPanel to the frame for image to be visible of course.
Alternatively You could also use a JLabel which would require nothing more than a setIcon(..) call and be added added to JFrame.
Here are some of my examples:
Using JPanel:
Loading image in Java Code from C drive
Image Drawing Works for JFrame, But Not JPanel
How to display an image in a frame?
Convert a JPanel to an image in a JScrollPane
Using JLabel: