gpt4 book ai didi

java - 画一条混合 swing 和 awt 的线

转载 作者:行者123 更新时间:2023-12-01 18:54:03 26 4
gpt4 key购买 nike

我尝试使用 Graphics 类绘制一条线,然后将其放入 JFrame 对象中:

import java.awt.*;
import javax.swing.JFrame;
import javax.swing.JLabel;

class Window
{
private JFrame frame;
private Graphics g;

public void Window()
{
frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocation(15, 0);
frame.setSize(600, 200);
frame.setVisible(true);

}

public void DrawCross()
{

g.setColor(Color.BLACK);
g.drawLine(300,0, 200, 0);
frame.paint(g);
}

}

...

run:
Exception in thread "main" java.lang.NullPointerException
at Window.DrawCross(Window.java:33)
at Main.main(main.java:21)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)

我错在哪里以及如何纠正我的错误?不可能初始化抽象的 Graphics 类的对象。

最佳答案

Graphics 对象尚未实例化,导致抛出 NPE

这种方法是完全错误的。不要直接调用paint。另外,不要在 JFrame 上进行任何自定义绘制,而是添加 JComponent 的子类并覆盖 paintComponent。在这里,您将拥有一个易于实例化的 Graphics 对象。

Painting in AWT and Swing

关于java - 画一条混合 swing 和 awt 的线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14793170/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com