Nel mio programma che dovrebbe disegnare i grafici delle funzioni ho implementato in una classe rappresentante un JPanel il seguente metodo:
dove ciò che disegnerà in rosso rappresenta una successione di segmenti che formano il grafico della funzione,le restanti linee riguarano il disegno degli assi,della quadratura degli assi e dei numerini su di essi.codice:private void disegnaAssi(Graphics g){ Graphics2D g2d=(Graphics2D)g; g.setFont(new Font("Comic Sans MS",Font.PLAIN,8)); if(cèfunzione&&punti[0]==0&&punti[punti.length/2]==0&&punti[punti.length-1]==0){ g.setColor(Color.RED); g.drawLine(0,250,920,250); //g.setColor(Color.WHITE); } for(int i=0;i<9200;i+=92){ g.setColor(Color.LIGHT_GRAY.darker().darker().darker().darker().darker()); g2d.draw(new Line2D.Double(i/10.0,0,i/10.0,500)); } for(int i=0;i<920;i+=46){ //disegna i numeri sull'asse orizzontale! g.setColor(Color.WHITE);// g.drawString(((((10*i)/46)-100)/2)*zoom+"",i,240); } for(int i=0;i<500;i+=10){ g.setColor(Color.LIGHT_GRAY.darker().darker().darker().darker().darker()); g.drawLine(0,i,900,i); } for(int i=0;i<500;i+=50){ //disegna i numeri sull'asse vericale! g.setColor(Color.WHITE);// g.drawString(0-((((10*i)/50)-50)/2)*zoom+"",470,i); } g.setColor(Color.WHITE); g.drawLine(460,0,460,500); //disegna l'asse verticale g.drawLine(0,250,920,250); //disegna l'asse orizzontale! }
Tale metodo è utilizzato all'interno del paintComponent
Inoltre preciso che IL JPanel è impostato a sfondo nero.
Vorrei sapere perchè le linee grigie(rappresentanti la quadratura) si sovrappongono al grafico rosso?anche se facessi disegnare prima la quadratura e poi il grafico quelle grigie si sovrappongono sempre e comunque.Perchè avviene questo?Come potrei risolvere?
PS.per i numerini nei "for" non vi scervellate riguardano le dimensioni del pannello.

					
					
					
						
  Rispondi quotando