как исправить параметр апплета - PullRequest
0 голосов
/ 29 октября 2011

моя программа работает нормально, только если я переместил "setBackground (color);"в "init ()".как это исправить?Моя задача - передать три целых числа, соответствующих значению RGB, и использовать соответствующий конструктор Color для установки цвета фона.

import java.applet.*;
import java.awt.*;

public class AnAppletSubclass2b extends Applet {
int r;
int g;
int b;
Color color;
public void init()
{

    String parmStringRED =  getParameter("red");
     r = Integer.parseInt(parmStringRED);
    String parmStringGREEN =  getParameter("green");
     g = Integer.parseInt(parmStringGREEN);
    String parmStringBLUE =  getParameter("blue");
     b = Integer.parseInt(parmStringBLUE);
    Color color = new Color (r,g,b);

    System.out.println("The parameter are: red: " + parmStringRED + ", green: " + parmStringGREEN + ", blue: " + parmStringBLUE);


}

public void paint(Graphics g)
{
    setBackground(color);
    System.out.println("In paint: n = " + n);
    n++;
}

int n;
}
<HTML>
<HEAD>
    <TITLE> AnApplet With Parms </TITLE>
</HEAD>
<BODY>
<p>Here is the output of my  Program:</p>   
<APPLET CODE="AnAppletSubclass2b.class" WIDTH=150 HEIGHT=100>
<PARAM name="red" value="25" >      
<PARAM name="green" value="250">
<PARAM name="blue" value="120">
</APPLET>
</BODY>
</HTML>

1 Ответ

2 голосов
/ 29 октября 2011

у вас есть цветовая переменная, определенная как поле, а другая - как локальная. Изменение

Color color = new Color (r,g,b);

до

color = new Color (r,g,b);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...