如何设计要添加到JFrame表单的新图形?

时间:2013-10-31 12:27:43

标签: java swing jframe paint

我正在尝试使用Netbeans 7.3设计一个非常基本的aircraft attitude indicator以放入JFrame表格,主要由一个黑色方框组成,中间有一条白线,与飞机的滚动程度成比例地旋转。然后需要将其放入JFrame表单以创建虚拟驾驶舱用户界面。我是一名新手程序员,对Java库知之甚少,所以非常感谢任何帮助!

到目前为止,我创建了以下类:

public class AttitudeIndicator extends JPanel {
private Graphics attIndBackground;
private Graphics attIndLine;
private int aILStartX;
private int aILStartY;
private int aILEndX;
private int aILEndY;

public AttitudeIndicator(int a,int b,int c,int d){
    aILStartX = a;
    aILStartY = b;
    aILEndX = c;
    aILEndY = d;
}

public void createAttitudeIndicator(){
    attIndBackground.setColor(Color.BLACK);
    attIndBackground.fillRect(0, 0, 200, 150);
    attIndBackground.setColor(Color.RED);
    attIndBackground.drawLine(0,75,200,75);

    attIndLine.setColor(Color.WHITE);
    attIndLine.drawLine(aILStartX,aILStartY,aILEndX,aILEndY);
}

}

这个想法是,参数a,b,c和d会改变,因此会改变音高和滚动的程度,但我还没有达到这一点。然后我把它放到主类中尝试创建它:

public static void main(String[] args) {

    JFrame f = new JFrame("Title");
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    AttitudeIndicator a = new AttitudeIndicator(50,50,150,75);
    a.createAttitudeIndicator();
    f.add(a);
    f.setSize(500,400);
    f.setVisible(true);
}

}

当我尝试运行它时,我得到一个空指针异常。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我认为这可能会对你有所帮助。 NetBeans有一个很棒的GUI来帮助您为程序制作GUI https://netbeans.org/kb/70/java/quickstart-gui.html