Hey, also arbeite ich an einem Programm und zu Debugging-Zwecken, ich versuche, das Programm einen Screenshot von einem Teil des Displays zu machen. Ich möchte die Anzeige aktualisiert haben, aber ich kann es nicht funktionieren lassen. Ich bin mir sicher, dass es ein einfaches Problem ist, aber meine Erfahrung mit Java Applets ist sehr klein.Kann JFrame nicht zum Aktualisieren des Bildes
Hier ist der Teil, den ich habe Probleme mit:
...
Thread.sleep(5000);
try {gb = new GameBoard(frame.getBounds());}
catch(Exception e){System.out.println("Error.");} // Make "gameboard" Object
while (true)
{
Thread.sleep(1000);
gb.grabImage(); // use java.awt.Robot's createScreenCapture()
ImageIcon icon = new ImageIcon(gb.image()); // wrap the image
JLabel label = new JLabel(icon, JLabel.CENTER);
frame.getContentPane().add(label,BorderLayout.EAST); //display the image (works)
//JOptionPane.showMessageDialog(null, label, "icon", -1);
label.repaint(); //update the display??
frame.repaint();
frame.getContentPane().repaint();
}
Wie gesagt, wird das Bild, und neue schaffen, wenn ich die Applet Größe zu ändern, aber ich brauche ein ständig wechselndes Bild.
Vielen Dank im Voraus!
Sind Sie sicher, dass dies ein Applet und keine Anwendung ist? Ich glaube, dass Standardeinstellungen die Erstellung von java.awt.Robot in einem Applet verbieten. –
Versuchen Sie, dies zu tun ... 'label.revalidate(); label.repaint(); '. – Favonius