Comment changer la couleur
Le
jolielady
Voici ma question.
J'ai construit un applet mais je voudrais etre capable de changer la
couleur de mon ecriture, comment faire?
Voici mon code:
import java.awt.*;
import java.applet.*;
public class aFont extends Applet
{
Choice lFont = new Choice();
Choice lSize = new Choice();
Choice lStyle = new Choice();
Choice lColor = new Choice();
TextField sString = new TextField ("Aa Bb Cc Dd Mm");
Font f = null ;
public void init ()
{
String [ ] arFont = getToolkit().getFontList();
for (int i = 0; i < arFont.length; i++)
lFont.addItem (arFont[i]) ;
lSize.addItem ("7") ;
lSize.addItem ("8") ;
lSize.addItem ("9") ;
lSize.addItem ("10") ;
lSize.addItem ("11") ;
lSize.addItem ("12") ;
lSize.addItem ("14") ;
lSize.addItem ("16") ;
lSize.addItem ("18") ;
lSize.addItem ("20") ;
lSize.addItem ("24") ;
lSize.addItem ("28") ;
lSize.addItem ("32") ;
lSize.addItem ("36") ;
lSize.addItem ("40") ;
lSize.select(10);
lStyle.addItem ("PLAIN") ;
lStyle.addItem ("BOLD") ;
lStyle.addItem ("ITALIC") ;
lStyle.addItem ("BOLD+ITALIC") ;
setLayout(null) ;
int iY = 10 ;
Label l = new Label("Font") ;
add( l ) ;
l.reshape(5, iY, 40, 20) ;
add(lFont) ;
lFont.reshape(50, iY, 100, 20);
l = new Label("Size") ;
add( l ) ;
l.reshape(170, iY, 40, 20) ;
add(lSize) ;
lSize.reshape(220, iY, 60, 20);
iY += 22 ;
l = new Label("Style") ;
add( l ) ;
l.reshape(5, iY, 40, 20) ;
add(lStyle) ;
lStyle.reshape(50, iY, 100, 20);
iY += 22 ;
l = new Label("Color") ;
add( l ) ;
l.reshape(5, iY, 40, 20) ;
add(lColor) ;
lColor.reshape(50, iY, 100, 20);
repaint() ;
}
public boolean handleEvent (Event event)
{
if ( event.id == Event.ACTION_EVENT
&& ( (event.target == sString) ||
(event.target == lFont) ||
(event.target == lSize) ||
(event.target == lStyle)||
(event.target == lColor ))
)
{
repaint() ;
return true;
}
return super.handleEvent (event);
}
public void paint(Graphics g) {
f = new Font (lFont.getSelectedItem (),
lStyle.getSelectedIndex(),
Integer.parseInt(lSize.getSelectedItem())
);
g.setColor( Color.white ) ;
g.fillRect(0,85,400,200);
g.setColor( Color.black ) ;
if (f != null) {
g.setFont(f);
}
g.drawString(sString.getText(), 20, 120);
}
}
Merci a tous de votre aide
J'ai construit un applet mais je voudrais etre capable de changer la
couleur de mon ecriture, comment faire?
Voici mon code:
import java.awt.*;
import java.applet.*;
public class aFont extends Applet
{
Choice lFont = new Choice();
Choice lSize = new Choice();
Choice lStyle = new Choice();
Choice lColor = new Choice();
TextField sString = new TextField ("Aa Bb Cc Dd Mm");
Font f = null ;
public void init ()
{
String [ ] arFont = getToolkit().getFontList();
for (int i = 0; i < arFont.length; i++)
lFont.addItem (arFont[i]) ;
lSize.addItem ("7") ;
lSize.addItem ("8") ;
lSize.addItem ("9") ;
lSize.addItem ("10") ;
lSize.addItem ("11") ;
lSize.addItem ("12") ;
lSize.addItem ("14") ;
lSize.addItem ("16") ;
lSize.addItem ("18") ;
lSize.addItem ("20") ;
lSize.addItem ("24") ;
lSize.addItem ("28") ;
lSize.addItem ("32") ;
lSize.addItem ("36") ;
lSize.addItem ("40") ;
lSize.select(10);
lStyle.addItem ("PLAIN") ;
lStyle.addItem ("BOLD") ;
lStyle.addItem ("ITALIC") ;
lStyle.addItem ("BOLD+ITALIC") ;
setLayout(null) ;
int iY = 10 ;
Label l = new Label("Font") ;
add( l ) ;
l.reshape(5, iY, 40, 20) ;
add(lFont) ;
lFont.reshape(50, iY, 100, 20);
l = new Label("Size") ;
add( l ) ;
l.reshape(170, iY, 40, 20) ;
add(lSize) ;
lSize.reshape(220, iY, 60, 20);
iY += 22 ;
l = new Label("Style") ;
add( l ) ;
l.reshape(5, iY, 40, 20) ;
add(lStyle) ;
lStyle.reshape(50, iY, 100, 20);
iY += 22 ;
l = new Label("Color") ;
add( l ) ;
l.reshape(5, iY, 40, 20) ;
add(lColor) ;
lColor.reshape(50, iY, 100, 20);
repaint() ;
}
public boolean handleEvent (Event event)
{
if ( event.id == Event.ACTION_EVENT
&& ( (event.target == sString) ||
(event.target == lFont) ||
(event.target == lSize) ||
(event.target == lStyle)||
(event.target == lColor ))
)
{
repaint() ;
return true;
}
return super.handleEvent (event);
}
public void paint(Graphics g) {
f = new Font (lFont.getSelectedItem (),
lStyle.getSelectedIndex(),
Integer.parseInt(lSize.getSelectedItem())
);
g.setColor( Color.white ) ;
g.fillRect(0,85,400,200);
g.setColor( Color.black ) ;
if (f != null) {
g.setFont(f);
}
g.drawString(sString.getText(), 20, 120);
}
}
Merci a tous de votre aide

Poser une question


Il suffit de rajouter avant d'ecrire: (dans paint(Graphics g) )
g.setColor(maColor);
Pour obtenir maColor, il faut fait une succession de
if(lColor.getSelectedIndex()==0) maColor=new Color(...)
else if(.....