PDA

Visualizza la versione completa : applicare colore a carettere [JAVA]


maninblack
16-03-2005, 11:10
ciao ragazzi...dato ke sto sclerando per capire come si applica un colore ad un carattere da visualizzare e per cercare un modo per farlo,ki mi sa dire come posso fare x favore??? per la costruzione del carattere faccio cosi':

[CODE/]
Font c=new java.awt.Font("Dialog", Font.BOLD, 50);
bottone.setFont(c);
this.button[indice].setText("X");
[CODE]

maninblack
16-03-2005, 11:12
ops ho sbagliato a postare...
ciao ragazzi...dato ke sto sclerando per capire come si applica un colore ad un carattere da visualizzare e per cercare un modo per farlo,ki mi sa dire come posso fare x favore??? per la costruzione del carattere faccio cosi':

[CODE]
Font c=new java.awt.Font("Dialog", Font.BOLD, 50);
bottone.setFont(c);
this.button[indice].setText("X");
[CODE/]

LeleFT
16-03-2005, 11:14
Premetto che, dato che stai utilizzando un Pulsante (ma la cosa varrebbe per qualsiasi altro componente semplice), il colore che vuoi usare verrà applicato al'intero testo e non solamente ad un particolare carattere.

Ad ogni modo, per applicare un determinato colore al testo di un pulsante (o un qualsiasi altro componente semplice) si usa il metodo setForeground(). Come in questo esempio:


bottone.setText("X");
bottone.setForeground( Color.red ); // Applico il colore rosso

PS: Il tag di chiususa per il codice è [/CODE] e non [CODE/].

Ciao. :ciauz:

maninblack
16-03-2005, 11:29
mi scuso ancora per il codice postato ke era con i tag errati..cmq ho provato ma nn va.Mi son spiegato male io...il fatto e' ke devo assegnare un colore diverso alle "X" e alle "O" della scacchiera del mio TRIS..per settare il font al carattere ho fatto come il codice di prima, ma per il colore nn va come mi hai detto..ce' un' altra soluz??

dekdek
16-03-2005, 11:36
Ma bottone di che classe e'?

maninblack
16-03-2005, 11:41
bottone non e' di nessuna classe..e' di tipo jbutton e mi dice il numero(l'indice) del bottone ke e' stato premuto sulla scacchiera..

LeleFT
16-03-2005, 11:44
Dovresti essere un po' più preciso... dove vuoi che appaia questa X o questa O? Come fai a visualizzarla? Usi delle JLabel? dei JButton? La disegni su un JFrame o su un JPanel? Prova a postare un po' più di codice, perchè se la inserisci su di un JButton (come hai fatto prima) allora deve funzionare come ti ho indicato.


Ciao. :ciauz:

dekdek
16-03-2005, 11:44
Temo di non capire...

Cmq, mi sa che setForeground lo devi applicare a button[indice] come hai fatto con setText...

maninblack
16-03-2005, 11:56
allora..la "x" o la"o" devono apparire sulla scacchiera ke e' un vettore di bottoni 3x3 costruito all'interno di un jframe:
[/CODE]
for(int i=0;i<9;i++)
{
JButton tmp;
tmp=new JButton(String.valueOf(i));
tmp.addActionListener(this);
button[i]=tmp;
c.add(tmp);
setSize(400,400);
setVisible(true);
}



per controllare quale bottone di questi (cioe' i button[indice]) viene premuto, lo trasformo in intero:

if((tmp==this.button[0])||(tmp==this.button[1])||(tmp==this.button[2])||(tmp==this.button[3])||(tmp==this.button[4])
||(tmp==this.button[5])||(tmp==this.button[6])||(tmp==this.button[7])||(tmp==this.button[8]))
{
bottone=(JButton)tmp;
indice=Integer.parseInt(bottone.getText());
[CODE/]

maninblack
16-03-2005, 11:58
azz continuo a sbagliare i tag..scusa!!!

allora..la "x" o la"o" devono apparire sulla scacchiera ke e' un vettore di bottoni 3x3 costruito all'interno di un jframe:


for(int i=0;i<9;i++)
{
JButton tmp;
tmp=new JButton(String.valueOf(i));
tmp.addActionListener(this);
button[i]=tmp;
c.add(tmp);
setSize(400,400);
setVisible(true);
}


per controllare quale bottone di questi (cioe' i button[indice]) viene premuto, lo trasformo in intero:


if((tmp==this.button[0])||(tmp==this.button[1])||(tmp==this.button[2])||(tmp==this.button[3])||(tmp==this.button[4])
||(tmp==this.button[5])||(tmp==this.button[6])||(tmp==this.button[7])||(tmp==this.button[8]))
{
bottone=(JButton)tmp;
indice=Integer.parseInt(bottone.getText());

Loading