Bom pessoal, quero chamar o método paint quando eu clico no botão “gerar gráfico”. Como eu faço pois eu tentei fazer dentro do método do botão só o comanado “paint();” e não dá certo. Me ajudem, tá aí o códido para vocês darem uma olhada… Ok… Agradeço desde já.
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class Graficobarras extends Applet implements ActionListener
{
int i,cor,qtdbarra,count;
TextField barras = new TextField (5); //quantidade de barras que o gráfico vai ter
TextField valorbarra = new TextField(5); //entrada dos valores
Button qtdbarras = new Button();
Button valorbarrasx=new Button();
Button gerargrafico=new Button();
int []vForma;
public void actionPerformed (ActionEvent e)
{
String buttonCommand = e.getActionCommand();
if (buttonCommand.equals("Qtde de Barras"))
{
qtdbarra = Integer.parseInt(barras.getText());
i=qtdbarra;
vForma = new int [qtdbarra];
barras.setEnabled (false);
qtdbarras.setEnabled (false);
valorbarrasx.setEnabled (true);
valorbarra.setEnabled (true);
}
if (buttonCommand.equals("Valores das Barras"))
{
i=0;
if (count<=qtdbarra)
{
vForma[i] = Integer.parseInt(valorbarra.getText());
i++;
valorbarra.setText("");
}
count++;
if (count==qtdbarra)
{
valorbarra.setEnabled (false);
valorbarrasx.setEnabled (false);
gerargrafico.setEnabled (true);
}
}
if (buttonCommand.equals("Gerar Grafico"))
{
paint();
}
}
public void init()
{
Label l1 = new Label("Quantidade de Barras:");
add(l1);
add(barras); //adiciona o TextField da quantidade de barras
qtdbarras.setLabel("Qtde de Barras"); //label do botão da quantidade de barras que o gráfico vai ter
add(qtdbarras);//adiciona o botão da quantidade de barras
qtdbarras.addActionListener(this);
Label l2 = new Label ("Digite os valores das barras:");
add(l2);
add(valorbarra); //adiciona o TextField dos valores
valorbarrasx.setLabel("Valores das Barras");
add(valorbarrasx); ////adiciona o botão da quantidade de valores do gráfico
valorbarrasx.addActionListener(this);
//adiciona o botão para gerar o gráfico.
gerargrafico.setLabel("Gerar Grafico");
add(gerargrafico);
gerargrafico.addActionListener(this);
count=0;
valorbarra.setEnabled (false);
valorbarrasx.setEnabled (false);
gerargrafico.setEnabled (false);
}
public void paint(Graphics g)
{
g.setColor(Color.white);
g.fillRect(0, 0, 300, 400);
for(i=0; i<=qtdbarra; i++)
{
cor=(int)(Math.random()*16000000);
g.setColor (new Color(cor));
g.fillRect (i,i,25,vForma[i]);
}
}
}