Ragazzi ho un problema con questo esercizio...posto testo ed il mio codice
Praticamente quando clicco sui tasti non succede nulla,nè cambia colore la scritta,nè cambia la dimensione della scritta.Dove sbaglio?codice:/** Esercizio: 1)creare un frame con una scritta centrata in esso. 2)La dimensione della scritta cambia se si schiacciano i tasti corrispondenti ai numeri(0 grandezza minima,9 grandezza massima). 3)Il colore della scritta cambia come segue: -rosso,verde e blue aumentano di un'unità ogni volta che schiaccio i tasti 'r','g','b' rispettivamente. -Diminuiscono di un'unità ogni volta che schiaccio i tasti'e','f',e 'v' rispettivamente. */ import java.awt.*; import javax.swing.*; import java.awt.event.*; public class EsercizioEventi extends JFrame implements KeyListener { private mioPannello pannellino; public EsercizioEventi() { setTitle("Eventi in un pannello"); setSize(new Dimension(500,500)); setLocation(new Point(200,200)); setDefaultCloseOperation(EXIT_ON_CLOSE); //dichiaro il frame listener di se stesso addKeyListener(this); Container contentPane=getContentPane(); pannellino=new mioPannello(); contentPane.add(pannellino); } public void KeyPressed(KeyEvent e) { //recupero il codice del tasto premuto int codiceTasto=e.getKeyCode(); //recupero eventuali modificatori si stringhe int modificatori=e.getModifiers(); //verifico cosa è stato premuto e cambio la dimensione della parola if(codiceTasto==KeyEvent.VK_0) pannellino.dimFont=6; else if(codiceTasto==KeyEvent.VK_1) pannellino.dimFont=10; else if(codiceTasto==KeyEvent.VK_2) pannellino.dimFont=12; else if(codiceTasto==KeyEvent.VK_3) pannellino.dimFont=14; else if(codiceTasto==KeyEvent.VK_4) pannellino.dimFont=18; else if(codiceTasto==KeyEvent.VK_5) pannellino.dimFont=22; else if(codiceTasto==KeyEvent.VK_6) pannellino.dimFont=24; else if(codiceTasto==KeyEvent.VK_7) pannellino.dimFont=32; else if(codiceTasto==KeyEvent.VK_8) pannellino.dimFont=42; else if(codiceTasto==KeyEvent.VK_9) pannellino.dimFont=72; else if(codiceTasto==KeyEvent.VK_R)//aumento ikl rosso se clicco sul tasto R pannellino.incrementaRosso(); else if(codiceTasto==KeyEvent.VK_G) pannellino.incrementaVerde(); else if(codiceTasto==KeyEvent.VK_B) pannellino.incrementaBlue(); else if(codiceTasto==KeyEvent.VK_E)//diminuisce il rosso pannellino.decrementaRosso(); else if(codiceTasto==KeyEvent.VK_F)//diminuisce il verde pannellino.decrementaVerde(); else if(codiceTasto==KeyEvent.VK_V)//diminuisce il blue pannellino.decrementaBlue(); pannellino.repaint(); } public void keyReleased(KeyEvent e) { } public void keyTyped(KeyEvent e) { } public static void main(String[]args) { JFrame frame=new EsercizioEventi(); frame.setVisible(true); } } //creo il pannello per scrivere class mioPannello extends JPanel { static int dimFont=10; static int r=95,g=95,b=95; static int e=95,v=95,f=95; //public mioPannello() //{ //inplemento i vari metodi public static void incrementaRosso() { if(r<245) r+=20; } public static void incrementaVerde() { if(g<245) g+=20; } public static void incrementaBlue() { if(b<245) b+=20; } public static void decrementaRosso() { if(e>20) e-=20; } public static void decrementaVerde() { if(f>20) f-=20; } public static void decrementaBlue() { if(b>20) b-=20; } public void paintComponent(Graphics g) { super.paintComponent(g); //qui inizio a creami la scritta int larghezzaStringhe=this.getWidth()/2; int altezzaStringhe=this.getHeight()/2; //scrivo la frase String messaggio="DAVIDE"; //creo e imposto i font da usare Font f=new Font("SanSerif",Font.BOLD+Font.ITALIC,24); g.setFont(f); setBackground(Color.cyan); g.drawString(messaggio,larghezzaStringhe-25,altezzaStringhe);//-25 è la grandezza di default delle stringhe } }
Grazie mille in anticipo a tutti

Rispondi quotando