Przekazanie parametru do apletu

0

Czy jest możliwe przekazanie parametru określającego kolor tekstu w aplecie w postaci:

<param name="kolor" value="red">

Problem polega na zmianie obiektu klasy String - którym jest przekazywany parametr kolor na obiekt klasy Color - dla setColor()

A może jakiś inny sposób na ten problem

0

Można, w kodzie apletu (metoda init()):

parametr=getParameter("color");
if (parametr!=null)
{
        try
    {
                napis=Color.decode(parametr);
    }
    catch(NumberFormatException e)
    {
                napis=new Color(254,204,102);
    }
}

na stronie:

  <applet code="XXX.class" height="60" width="360">
    <param name="color" value="#000099">
  </applet>

jeśli chcesz przekazać tak:

  <applet code="XXX.class" height="60" width="360">
    <param name="color" value="red">
  </applet>

to uprości się odczytywanie parametru w metodzie init()

0

Chodzi mi o:

<applet code="XXX.class" height="60" width="360">
    <param name="color" value="red">
  </applet>

do Color.decode() trzeba przekazać wartość HEX koloru inaczej łapie wyjątek, ale z tym już próbowałem wcześniej.

napisałeś, że ten drugi sposób (czyli ten wyżej ;-) ) uprości odczytanie parametru w metodzie init()

podaj przykład tego bo nie wiem jak to rozwizać.

</quote>

0

Uprości odczytanie parametru, ale nie uprości ustawienia koloru.
Trzeba chyba napisać taką klasę:

public class Kolor
{
     public static Color getKolor(String name)
     {
          if(name.equalsIgnoreCase("blue"))
              return new Color.BLUE;
          .....
          return new Color.BLACK; // wartość domyślna
     }
}

a do init() wsadzić coś takiego

parametr=getParameter("color");
if (parametr!=null)
     kolor=Kolor.getKolor(parametr);
else
     kolor=new Color(254,204,102);
}
0

import javax.swing.text.html.StyleSheet

String colStr="red";
StyleSheet st=new StyleSheet();
Color col=st.stringToColor(colStr);

No i jeszcze trzeba obsłużyć wyjątki, szczegóły w dokumentacji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0