Hallo,
Ich möchte gerne ein Laufbild erzeugen. Das soll folgender Maße funktionieren.
Ich lade ein Bild in den BufferedImage, von dem Bild möchte ich gerne nur ein Teilausschnitt angezeigt bekommen. Der Teilausschnitt soll mit einer Schleife bis zum Ende des Bildes wandern. Das möchte ich gerne als Vorschau in einem JPanel anzeigen lassen.
Das ist mein Ansatz. Es funktioniert alles, nur wenn ich auf start drücke wird mein JFrame schwarz und wenn der Teilausschnitt am ende angekommen ist wird das Bild angezeigt.
Die Namen meiner Buttons, etc. haben keine größere Bedeutung.
Benutze Eclipse Java Neon und habe auch die GUI mit dem Eclipse Desinger erzeugt.
Ich möchte gerne ein Laufbild erzeugen. Das soll folgender Maße funktionieren.
Ich lade ein Bild in den BufferedImage, von dem Bild möchte ich gerne nur ein Teilausschnitt angezeigt bekommen. Der Teilausschnitt soll mit einer Schleife bis zum Ende des Bildes wandern. Das möchte ich gerne als Vorschau in einem JPanel anzeigen lassen.
Das ist mein Ansatz. Es funktioniert alles, nur wenn ich auf start drücke wird mein JFrame schwarz und wenn der Teilausschnitt am ende angekommen ist wird das Bild angezeigt.
Die Namen meiner Buttons, etc. haben keine größere Bedeutung.
Benutze Eclipse Java Neon und habe auch die GUI mit dem Eclipse Desinger erzeugt.
Java:
public class GUI extends JFrame {
/**
* Launch the application.
*/
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
try {
GUI frame = new GUI();
frame.setVisible(true);
}
catch (Exception e)
{
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public GUI() {
getContentPane().setBackground(SystemColor.activeCaption);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 800, 500);
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu mnOptionen = new JMenu("Optionen");
menuBar.add(mnOptionen);
JMenu mnDateien = new JMenu("Dateien");
menuBar.add(mnDateien);
JMenu mnHilfe = new JMenu("Hilfe");
menuBar.add(mnHilfe);
getContentPane().setLayout(null);
JButton btnLeuchten = new JButton("Leuchten");
btnLeuchten.setBounds(50, 391, 123, 25);
getContentPane().add(btnLeuchten);
JPanel panel0 = new JPanel();
panel0.setBounds(12, 13, 250, 250);
getContentPane().add(panel0);
JButton btnFarbeRot = new JButton("Farbe ROT");
btnFarbeRot.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
int xfenster = 500;
int yfenster = 5;
funktion test = new funktion();
int[] bildmass = new int[1];
bildmass = test.abmassebild();
int width = bildmass[0];
//Bildbreite - Fenstergröße wichtig erzeugt bei falscher konfig viele Fehler
width = width - xfenster;
int x = 0;
//JPanel inhalte Löschen
while(x <= width)
{
BufferedImage ausimage = null;
ausimage = test.bildverschieben(test.orignalbildeinlesen(), x, xfenster, yfenster);
//Bild in das JLabel Laden
JLabel Jimage = new JLabel(new ImageIcon(ausimage));
if(panel0.getComponentCount() != 0)
{
System.out.println("Elemente: " +getComponentCount());
panel0.remove(0);
//panel0.removeAll();
}
panel0.add(Jimage);
//Vorschau anzeige
//getContentPane().add(panel0);
panel0.validate();
long ende = (new Date()).getTime() + 500;
while( (new Date()).getTime() < ende ){
// abwarten und Tee trinken
}
x=x+50;
}
}
});
btnFarbeRot.setBounds(320, 13, 123, 25);
getContentPane().add(btnFarbeRot);
JButton btnFarbeBlau = new JButton("Farbe BLAU");
btnFarbeBlau.setBounds(320, 51, 123, 25);
getContentPane().add(btnFarbeBlau);
JButton btnFarbeGelb = new JButton("Farbe GELB");
btnFarbeGelb.setBounds(320, 89, 123, 25);
getContentPane().add(btnFarbeGelb);
JButton btnFarbeOrange = new JButton("Farbe ORANGE");
btnFarbeOrange.setBounds(320, 127, 123, 25);
getContentPane().add(btnFarbeOrange);
JButton btnFarbePink = new JButton("Farbe PINK");
btnFarbePink.setBounds(320, 165, 123, 25);
getContentPane().add(btnFarbePink);
}
}