ProgressBar ist verdeckt

Status
Nicht offen für weitere Antworten.

graupen^

Mitglied
Hallo,

ich schreibe gerade ein Programm, in welchem ich nacheinander mehrere Bilder skaliere. Zur Kontrolle habe ich einenProgressBar eingerichtet. Dieser bleibt aber während der ganzen Zeit unsichtbar. Hier ein lauffähiger Ausschnitt aus dem Programm:

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.filechooser.*;
import java.io.*;
import java.awt.image.*;
import javax.imageio.*;

public class Bilderseite extends JFrame {
	private JButton btnLos=new JButton("Los");
	private JProgressBar pB=new JProgressBar(0,4);

	public Bilderseite() {
		setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
		setBounds(100,100,600,400);
		btnLos.addActionListener(new ActionListener()  {
			public void actionPerformed(ActionEvent e) {
				bildHinzu();
				}
			});
		Box bX=new Box (BoxLayout.Y_AXIS);
		bX.add(btnLos);
		bX.add(pB);
		add(bX);
		}

	private void bildHinzu() {
		JFileChooser fc=new JFileChooser();
		fc.setDialogType(JFileChooser.OPEN_DIALOG);
		int ergebnis=fc.showOpenDialog(this);
		if(ergebnis == JFileChooser.APPROVE_OPTION) {
			File quelle=fc.getSelectedFile();
			String bildQuelle=quelle.toString();
			String bildZiel=bildQuelle.substring(0,bildQuelle.length()-4)+"SKAL.jpg";
			pB.setValue(1);
			skalieren(bildQuelle, bildZiel, 1000,600);
			pB.setValue(2);
			skalieren(bildQuelle, bildZiel, 1000,600);
			pB.setValue(3);
			skalieren(bildQuelle, bildZiel, 1000,600);
			//...
			}
		}
		
	public void skalieren(String q, String z, int b, int h) {
		String quelle=q;
		String ziel=z;
		int breite=b;
		int hoehe=h;
		BufferedImage srcImage=null, destImage=null;
	
		try {
		srcImage = ImageIO.read(new File(quelle));
		} catch (IOException e) {
			e.printStackTrace();
			}
		Image image = srcImage.getScaledInstance(breite, hoehe,Image.SCALE_SMOOTH);
		destImage = new BufferedImage(breite, hoehe, BufferedImage.TYPE_INT_RGB);
		Graphics g = destImage.createGraphics();
		g.drawImage(image, 0, 0, null);
		g.dispose();
		try {
	  		ImageIO.write(destImage, "jpg", new File(ziel));
		}   catch (IOException ie) {
			ie.printStackTrace();
			}
		}
	
	public static void main(String[] args) {
		Bilderseite bs=new Bilderseite();
		bs.setVisible(true);
		}
	}//Ende Klasse Bilderseite

Kann mir jemand weiterhelfen ?
 

Bert Brenner

Bekanntes Mitglied
Die Methode bildHinzu() darf nicht im EventThread ausgeführt werden.

Änderung:
Code:
      btnLos.addActionListener(new ActionListener()  {
         public void actionPerformed(ActionEvent e) {
           new Thread(){
             public void run(){
               bildHinzu();
             }
           }.start();
         });
 

graupen^

Mitglied
Danke für die schnelle und kompetente Antwort! Ich hatte alles Mögliche in Verdacht, aber darauf war ich nicht gekommen.
Das Gute an Java ist auch das Forum.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Progressbar aktualisieren Java Basics - Anfänger-Themen 17
C ProgressBar updaten Java Basics - Anfänger-Themen 4
felix92 MP3-Player ProgressBar Java Basics - Anfänger-Themen 29
Y Progressbar beim Mysqldump Java Basics - Anfänger-Themen 3
T Progressbar füllen? Java Basics - Anfänger-Themen 3
X BufferedWriter Dauer in ProgressBar ausgeben? Java Basics - Anfänger-Themen 2
1 Erste Schritte Progressbar füllen ?? Java Basics - Anfänger-Themen 5
C ProgressBar funktioniert nicht Java Basics - Anfänger-Themen 18
K Erste Schritte Progressbar geht nicht Java Basics - Anfänger-Themen 5
P Progressbar auf der Console Java Basics - Anfänger-Themen 12
P Aktualisierungsproblem mit Progressbar Java Basics - Anfänger-Themen 5
L ProgressBar neu positionieren Java Basics - Anfänger-Themen 12
M jLabel aktuallisieren bzw Progressbar für Zeitanzeige Java Basics - Anfänger-Themen 5
M FTP Upload Applet - ProgressBar Java Basics - Anfänger-Themen 5
C Auf ProgressBar von zwei verschiedenen .class Dateien zugrei Java Basics - Anfänger-Themen 2
P Label nicht bei Progressbar zu sehen Java Basics - Anfänger-Themen 8
E ProgressBar für Kopieraktion Java Basics - Anfänger-Themen 21
H Wie hier die Progressbar benutzen? Java Basics - Anfänger-Themen 8
B Problem mit ProgressBar Java Basics - Anfänger-Themen 4
C Farbe von ProgressBar ändern Java Basics - Anfänger-Themen 3
G Progressbar aktualisiert nicht Java Basics - Anfänger-Themen 3
T JMenuItems werden von Komponente in Panel verdeckt Java Basics - Anfänger-Themen 11
G Hintergrund verdeckt Buttons Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben