Java - Problemas con Graphics. Paint doble?

   
Vista:

Problemas con Graphics. Paint doble?

Publicado por Alexander (2 intervenciones) el 14/05/2014 22:43:04
Buenas, soy un nuevo usuario y quisiera hacer una consulta...
Tengo que hacer una gestion de una biblioteca para fin de proyecto utilizando todo lo que hemos aprendido, incluyendo el graphics .
Al hacer el paint, me aparece el texto y se esfuma. Si minimizo la ventana y lo abro de nuevo, queda bien el texto y no se porque es :S
He intentado ver el proplema y al sacarlo por consola, veo que lo hace 2 veces, alguien me puede decir porque? Hay alguna solucion? MUCHAS GRACIAS!!

Aqui teneis el codigo:

--------------------------------------------------------------------------------------------------------------------------------------

package Frames;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.Graphics;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import javax.swing.JLabel;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;


public class frmEntrada extends JFrame {

private JPanel contentPane;
private String[] arrayBien = new String[]{"B","i","e","n","v","e","n","i","d","o"," ","a"," ","l","a"," ","b","i","b","l","i","o","t","e","c","a"," ","q","u","e"," ","q","u","i","e","r","e","s"," ","h","a","c","e","r","?"};
private ImageIcon imgRecep = new ImageIcon("recepcionista.png");

public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
frmEntrada frame = new frmEntrada();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}


public frmEntrada() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 775, 605);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

JButton btnCoger = new JButton("Coger libro");
btnCoger.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
frmListado.main(null);
}
});
btnCoger.setBounds(75, 270, 130, 23);
contentPane.add(btnCoger);

JButton btnDevolver = new JButton("Devolver libro");
btnDevolver.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
frmDevolver.main(null);
}
});
btnDevolver.setBounds(75, 315, 130, 23);
contentPane.add(btnDevolver);

JButton btnSalir = new JButton("Salir");
btnSalir.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});

JButton btnIntroducir = new JButton("Introducir Libro");
btnIntroducir.setBounds(75, 359, 130, 23);
contentPane.add(btnIntroducir);
btnSalir.setBounds(75, 400, 130, 23);
contentPane.add(btnSalir);

JLabel lblFondo = new JLabel(imgRecep);
lblFondo.setBounds(0, 0, 759, 567);
contentPane.add(lblFondo);
}

public void paint (Graphics g){
super.paint(g);
g.setColor(null);
String num="";
for(int i=0;i<arrayBien.length;i++){
num=num+arrayBien[i];
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
g.drawString(num, 120, 120);
}

}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder