Java 线程NullPointerException
嘿,每当我运行这个错误输出时Java 线程NullPointerException,java,swing,nullpointerexception,render,Java,Swing,Nullpointerexception,Render,嘿,每当我运行这个错误输出时 Exception in thread "Thread-2" java.lang.NullPointerException at GraphicsTest.render(GraphicsTest.java:50) at GraphicsTest.run(GraphicsTest.java:58) at java.lang.Thread.run(Unknown Source) 这是代码,我不明白为什么它不能工作。我在网上搜索过,似乎找不到任何
Exception in thread "Thread-2" java.lang.NullPointerException
at GraphicsTest.render(GraphicsTest.java:50)
at GraphicsTest.run(GraphicsTest.java:58)
at java.lang.Thread.run(Unknown Source)
这是代码,我不明白为什么它不能工作。我在网上搜索过,似乎找不到任何答案。我是新来的,只想在屏幕上画一个图像。然后,也许稍后尝试创建一个BuffereImage数组,但这看起来还需要一段时间,哈哈。提前感谢您的帮助:)
}
只想在屏幕上画一个图像
尝试使用类似于
GraphicsTest gt = new GraphicsTest();
try {
image = ImageIO.read(new File("Grap/roby.png"));
I.add(new JLabel(new ImageIcon(image));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JFrame window = new JFrame("Test Rendering");
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.add(gt);
window.setLocationRelativeTo(null);
window.setPreferredSize(new Dimension(600, 400));
window.pack();
window.setVisible(true);
请查看以了解更多详细信息
永远不要使用getGraphics
尝试进行自定义绘制,这不是Swing中绘制的工作方式
如果你真的有兴趣知道绘画是如何工作的,看看和了解更多细节
您可能希望通读,这将使人们更容易阅读您的代码,您也更容易阅读其他人的代码请详细说明第50行是什么。阅读NulpPoExtExcExts这里:一个想法:考虑阅读教程或两个摆动图形之前猜测如何做到这一点。代码中存在的问题表明您尚未完成这一重要步骤。这个链接会让你开始。看看和Swing使用的是被动渲染引擎,虽然你可以向渲染引擎提出“建议”,但最终你对渲染过程不负责任
getGraphics
不是Swing中绘画的工作方式,它可以返回null
。您可能还想看看
GraphicsTest gt = new GraphicsTest();
try {
image = ImageIO.read(new File("Grap/roby.png"));
I.add(new JLabel(new ImageIcon(image));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JFrame window = new JFrame("Test Rendering");
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.add(gt);
window.setLocationRelativeTo(null);
window.setPreferredSize(new Dimension(600, 400));
window.pack();
window.setVisible(true);