Applet的显示空白,不进行初始化? [英] Applet shows up blank, not initializing?

查看:359
本文介绍了Applet的显示空白,不进行初始化?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好我的名字是Fyree!我有一个介绍性的Java课程,我需要建立一个程序,需要用户输入的开始值的分配,以及所有五个年份值,使线图(但这是另一篇文章),并同时打印速度。这里是我的问题,当我尝试运行此applet它打开(它编译没有错误),但只显示为空白屏幕,并说在小应用程序底部小程序未初始化。我不知道这是为什么(我目前想获得分配的工作,其中需要用户给出的第五年价值并开始值,并用它们打印出来的增长或利息率率部分)。我想知道为什么发生这种情况,什么我需要做正确在屏幕上的输出速度(或线图下一次我有一个投入)。任何帮助将是AP preciated此分配是由于明天!

 进口java.awt中的*。
进口的javax.swing *。
java.awt.event中导入*。
公共类Rate_Graph扩展JApplet的实现的ActionListener
{
JLabel的BV,EV1,EV2,EV3,EV4,EV5;
JTextField的BV1,ev_1,ev_2,ev_3,ev_4,ev_5;
JButton的走了,ADD1,ADD2,ADD3,ADD4,ADD5;
公共无效的init()
{
    的setLayout(新的FlowLayout()); //这台preferred布局格式    BV =新的JLabel(输入起始值:); //开始值输入
    BV1 =新的JTextField,(5);    EV1 =新的JLabel(进入今年1值:); // 1年值输入
    ev_1 =新的JTextField,(5);    EV2 =新的JLabel(进入第2年的价值:); //年2值输入
    ev_2 =新的JTextField,(5);    EV3 =新的JLabel(进入第3年的价值:); //年3值输入
    ev_3 =新的JTextField,(5);    EV4 =新的JLabel(进入第4年价值:); //年4值输入
    ev_4 =新的JTextField,(5);    EV5 =新的JLabel(进入今年5值:); // 5年投入价值
    ev_5 =新的JTextField,(5);    去=的新的JButton(添加!); //按钮实现所有的值
    go.addActionListener(本); //所以它做一些事情
    加(BV);加(BV1); //添加所有的不同的事情
    加(EV1);加(ev_1);
    加(EV2);加(ev_2);
    加(EV3);加(ev_3);
    加(EV4);加(ev_4);
    加(EV5);加(ev_5);
    加(去);
}
公共无效的actionPerformed(ActionEvent的事件)
{
        / *对象的src = event.getSource();
        如果(SRC == GO){
            串strbv = bv1.getText();
            串strev1 = ev_1.getText();
            串strev2 = ev_2.getText();
            串strev3 = ev_3.getText();
            串strev4 = ev_4.getText();
            串strev5 = ev_5.getText();
        } * /
}
INT intbv =的Integer.parseInt(bv1.getText());
INT intev1 =的Integer.parseInt(ev_1.getText());
INT intev2 =的Integer.parseInt(ev_2.getText());
INT intev3 =的Integer.parseInt(ev_3.getText());
INT intev4 =的Integer.parseInt(ev_4.getText());
INT intev5 =的Integer.parseInt(ev_5.getText());
公共双computeRate()
{
    双倍速率=(Math.pow(intev5 / intbv,1.0 / 5.0) - 1);
    收益率;
}
}


解决方案

在您的code你得到 NullPointerException异常因为你试图初始化 intbv intbv1 ,...使用的JLabel BV BV1 ,...这是尚未初始化。

仅仅只有申报 intbv intbv1 intbv2 ...(不初始化),并在的actionPerformed 执行任何操作将它们分配值。

 公共无效的actionPerformed(ActionEvent的事件){
    intbv =的Integer.parseInt(bv1.getText());
    intev1 =的Integer.parseInt(ev_1.getText());
    intev2 =的Integer.parseInt(ev_2.getText());
    intev3 =的Integer.parseInt(ev_3.getText());
    intev4 =的Integer.parseInt(ev_4.getText());
    intev5 =的Integer.parseInt(ev_5.getText());
    INT总和= intbv + intev1 + intev2 + intev3 + intev4 + intev5;
    的System.out.println(总:+总和);
    的System.out.println(计算速度:+ computeRate());
}
INT intbv;
INT intev1;
INT intev2;
INT intev3;
INT intev4;
INT intev5;

Hello everyone my name is Fyree! I have an assignment for an introductory Java course where I need to create a program that takes user input for the beginning values, and all five year values to make a line graph (but that is for another post), and also print the rate. Here is my problem, when I try to run this applet it opens (it compiles without error), but only shows up as a blank screen, and says applet not initialized at the bottom of the applet. I am not sure why this is (currently I am trying to get the rate part of the assignment working where it takes the year five value and beginning value given by the user, and uses them to print out the rate of growth or interest). I want to know why this is happening, and what I need to do to correctly have the rate output on the screen (or under the line graph once I have that put in). Any help would be appreciated as this assignment is due tomorrow!

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Rate_Graph extends JApplet implements ActionListener
{
JLabel bv, ev1, ev2, ev3, ev4, ev5;
JTextField bv1, ev_1, ev_2, ev_3, ev_4, ev_5;
JButton go, add1, add2, add3, add4, add5;
public void init()
{
    setLayout(new FlowLayout()); //This sets the preferred layout format

    bv = new JLabel("Enter beginning value:"); //Beginning value input
    bv1 = new JTextField(5);

    ev1 = new JLabel("Enter year 1 value:"); //Year 1 value input
    ev_1 = new JTextField(5);

    ev2 = new JLabel("Enter year 2 value:"); //Year 2 value input
    ev_2 = new JTextField(5);

    ev3 = new JLabel("Enter year 3 value:"); //Year 3 value input
    ev_3 = new JTextField(5);

    ev4 = new JLabel("Enter year 4 value:"); //Year 4 value input
    ev_4 = new JTextField(5);

    ev5 = new JLabel("Enter year 5 value:"); //Year 5 value input
    ev_5 = new JTextField(5);

    go = new JButton("Add!"); //Button that implements all the values
    go.addActionListener(this); //So it does something
    add(bv); add(bv1); //Adding all of the different things
    add(ev1); add(ev_1);
    add(ev2); add(ev_2);
    add(ev3); add(ev_3);
    add(ev4); add(ev_4);
    add(ev5); add(ev_5);
    add(go);
}
public void actionPerformed(ActionEvent event)
{
        /*Object src = event.getSource(); 
        if(src==go){
            String strbv = bv1.getText();
            String strev1 = ev_1.getText();
            String strev2 = ev_2.getText();
            String strev3 = ev_3.getText();
            String strev4 = ev_4.getText();
            String strev5 = ev_5.getText();
        }*/
}
int intbv = Integer.parseInt(bv1.getText());
int intev1 = Integer.parseInt(ev_1.getText());
int intev2 = Integer.parseInt(ev_2.getText());
int intev3 = Integer.parseInt(ev_3.getText());
int intev4 = Integer.parseInt(ev_4.getText());
int intev5 = Integer.parseInt(ev_5.getText());
public double computeRate()
{
    double rate = (Math.pow(intev5 / intbv, 1.0 / 5.0) - 1);
    return rate;
}
}

解决方案

In your code you are getting NullPointerException because you are trying to initialize intbv, intbv1, ... by using JLabel's bv, bv1, .... which are not yet initialized.

Just only declare intbv, intbv1, intbv2...(not initialize), and assign them values when any action is performed in actionPerformed.

public void actionPerformed(ActionEvent event) {
    intbv = Integer.parseInt(bv1.getText());
    intev1 = Integer.parseInt(ev_1.getText());
    intev2 = Integer.parseInt(ev_2.getText());
    intev3 = Integer.parseInt(ev_3.getText());
    intev4 = Integer.parseInt(ev_4.getText());
    intev5 = Integer.parseInt(ev_5.getText());
    int sum = intbv + intev1 + intev2 + intev3 + intev4 + intev5;
    System.out.println("Sum            : " + sum);
    System.out.println("Compute rate   : " + computeRate());
}
int intbv;
int intev1;
int intev2;
int intev3;
int intev4;
int intev5;

这篇关于Applet的显示空白,不进行初始化?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆