thm*_*mas 0 java swing java-2d nullpointerexception jpanel
我正在尝试使用以下代码将一个矩形绘制到JPanel:
JPanel background = new JPanel();
Graphics2D g = null;
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(Color.BLACK);
g2d.drawRect(0, 0, 800, 600);
Run Code Online (Sandbox Code Playgroud)
当我尝试编译它时,我得到了错误
设置颜色行上的java.lang.NullPointerException.
我也试过这个,但我得到了同样的错误
JPanel background = new JPanel();
Graphics bg = background.getGraphics();
bg.setColor(Color.BLACK);
bg.drawRect(0, 0, 800, 600);
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我修复这个bug吗?
要在JPanel上绘图,您需要覆盖paintComponent().您可以按如下方式覆盖它,或者创建一个子类:
JPanel background = new JPanel()
{
@Override
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(Color.BLACK);
g2d.drawRect(0, 0, 800, 600);
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
240 次 |
| 最近记录: |