SwingWorker funktioniert nicht korrekt

Status
Nicht offen für weitere Antworten.

gurisingh

Mitglied
Hallo Leute,


Ich haenge bereits seit Stunden an dieses Problem. Ich hoffe, Ihr koennt mir weiterhelfen.

Vorhaben:
Bilder aus einem Directory als thumbnails(gesized also) in JTabbedPanel laden. Sobald man auf eines der Thumbnails klickt, soll es oben gross angezeigt werden.

Problem:
Bilder werden nicht in JTabbedPanel angezeigt. Entweder erscheinen dort kleine schwarze Buttons, ohne Bilder(Wobei die Anzahl auch nicht stimmt), oder garkeine Buttons im Tab.

Vielleicht findet Ihr ja denn Fehler.

Code:
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FilenameFilter;

import javax.swing.*;
import javax.swing.border.Border;

class WindowDesign extends JFrame {
	private static final long serialVersionUID = 1L;
	JPanel paneMain = new JPanel();
	JPanel paneOben = new JPanel();
	JPanel paneUnten = new JPanel();
    JPanel obenRechts = new JPanel();
	JPanel obenLinks = new JPanel();
	JPanel obenMain = new JPanel();
	ImageIcon thumbnail;
	File folder = new File("C:\\images\\");
	ImagePanel paneImage = new ImagePanel(new ImageIcon("C:\\images\\pic01.jpg").getImage());
	JButton button;
	JPanel  tabPanel = new JPanel();
	
	JTabbedPane tabMain = new JTabbedPane(JTabbedPane.BOTTOM);  // JTabbedPane wird erstellt
	FilenameFilter filter = new FileListNames(".jpg");
	File[] listOfFiles = folder.listFiles(filter);
	ImageIcon icon;
	public WindowDesign() {
		   super("Fotoalbum");
		   setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		   setSize(1024,768);
		   BoxLayout box = new BoxLayout(paneMain, BoxLayout.Y_AXIS);
		   Border redline = BorderFactory.createLineBorder(Color.red);
		   paneOben.setPreferredSize(new Dimension(1024, 600));
		   paneUnten.setPreferredSize(new Dimension(1024, 168));  
		   tabMain.add(tabPanel);                       // Panel wird zu tabbedPane geadded
		   paneUnten.add(tabMain);                      // JTabbedPane wird zum unteren Panel Hinzugefuegt
		   obenLinks.setPreferredSize(new Dimension(100,600));
		   obenRechts.setPreferredSize(new Dimension(100,600));
		   obenMain.setPreferredSize(new Dimension(824,600));
		   Border blackline = BorderFactory.createLineBorder(Color.black);
		   //paneMain.setBorder(redline);
		   obenRechts.setBackground(Color.pink);
		   obenMain.setBackground(Color.pink);
		   obenLinks.setBackground(Color.pink);
		   paneMain.setBackground(Color.pink);
		   paneOben.setBackground(Color.pink);
		   paneUnten.setBackground(Color.pink);
		   obenMain.add(paneImage);
		   paneOben.add(obenLinks);
		   paneOben.add(obenMain);
		   paneOben.add(obenRechts);
		   paneMain.add(paneOben);
		   paneMain.add(paneUnten);
		   add(paneMain);	   
		   setVisible(true);		   
		   load.execute();                         //SwingWorker wird gestartet
	}


 SwingWorker load = new SwingWorker<Void, Void>() {
	  @Override
	  protected Void doInBackground() throws Exception {
		  for (int i = 0; i < listOfFiles.length; i++){
			  if (listOfFiles[i].isFile()){
				  ImageIcon icon = new ImageIcon(listOfFiles[i].getName());            
				  thumbnail = new ImageIcon(resizedImage(icon.getImage(), 33, 33));    // Thumbnail(ImageIcon) ist das verkleinerte Bild
				  button = new JButton(thumbnail);                                     
				  tabPanel.add(button);
			  }
		  }  
		  return null;
	}
  };

     private Image resizedImage(Image icon2, int w, int h) {                            //Bildergroesse wird angepasst
    	 BufferedImage resizedImg = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
    	 Graphics2D g2 = resizedImg.createGraphics();
    	 g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
    	 g2.drawImage(icon2, 0, 0, w, h, null);
    	 g2.dispose();
    	 return resizedImg;
     }
    
}

class FileListNames implements FilenameFilter {
    File folder = new File("C:\\images\\");
    File[] listOfFilesChecked;
    String extension;
    public FileListNames(String extension) {
    	this.extension = extension;
	}

	@Override
	public boolean accept(File dir, String name) {
		if (name.endsWith(this.extension)) {
			return true;
		}
		else {
			return false;
		}
	}
		
}
 

Marco13

Top Contributor
Nach der Schleife im SwingWorker ein "Validate" könnte nicht schaden. Außerdem sollte das tabPanel vermutlich ein "GridLayout(0,1)" haben .... oder so....
 

gurisingh

Mitglied
Code:
		  for (int i = 0; i < listOfFiles.length; i++){	  
				  ImageIcon icon = new ImageIcon(listOfFiles[i].getName());            

				  thumbnail = new ImageIcon(resizedImage(icon.getImage(), 33, 33));    // Thumbnail(ImageIcon) ist das verkleinerte Bild
				  button = new JButton(thumbnail);                                     
				  tabPanel.add(button);
				
		  }  
		  tabPanel.validate();


TabPanel "gevalidated" und jetzt seh ich wenigstens die schwarzen Fenster, sogar in der richtigen Anzahl :).

Normalerweise muesste er sowieso alles als FlowLayout anordnen, falls man nichts angegeben hat. Das moechte ich ja.
Ich habs mit GridLayout ausprobiert, doch dadurch wurden die Fenster sehr eng zusammengedrueckt und die Bilder konnte man immer noch nicht sehen.

EDIT: Das Validate funktioniert anscheinend auch nicht immer... Mal zeigt er 8 Buttons an, mal 3 und mal garkeine... Da ist doch irgendwas nicht normal..
 

André Uhres

Top Contributor
Versuch's mal so:
Code:
protected Void doInBackground() throws Exception {
    for (int i = 0; i < listOfFiles.length; i++) {
        if (listOfFiles[i].isFile()) {
            String path = listOfFiles[i].getPath();
            ImageIcon icon = new ImageIcon(path);
            thumbnail = new ImageIcon(resizedImage(icon.getImage(), 33, 33));    // Thumbnail(ImageIcon) ist das verkleinerte Bild
            button = new JButton(thumbnail);
            button.setName(path);
            button.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    Image img = new ImageIcon(((JButton) e.getSource()).getName()).getImage();
                    paneImage.setImage(img);
                }
            });
            tabPanel.add(button);
            tabPanel.revalidate();
        }
    }
    return null;
}
EDIT: Sorry, dieses Beispiel zeigt einen falschen Ansatz: siehe Verbesserung unten.
 

byte

Top Contributor
SwingWorker#doInBackground() läuft in einem eigenen Thread, daher umbedingt per SwingUtilities#invokeLater() auf den EDT zugreifen!!
 

Marco13

Top Contributor
Das hat wohl damit nichts zu tun. Die Aussage auf http://java.sun.com/products/jfc/tsc/articles/threads/threads1.html ist diesbezüglich ziemlich klar: Once a Swing component has been realized, all code that might affect or depend on the state of that component should be executed in the event-dispatching thread.. Und "add(button)" affectet nunmal eine Swing Component. (Dass es meistens funktioniert, insbesondere, wenn nicht irgendein anderer Thread versucht, sich diesen Button abzuholen usw, ist kein Grund, es potentiell falsch zu machen....)

Zumindest wüßte ich keinen Grund, warum es OK sein sollte, add(button) in einem Worker Thread zu machen - in anbetracht der o.g. Regel.
 

diggaa1984

Top Contributor
grad mal einmischen muss :D

also alles was swing-komponenten beeinflusst soll im EDT laufen, im workerthread würde ich dann sowas wie .. einlesen, auslager, bearbeiten von daten machen - wenns länger dauert - und im anschluss per invokeLater im EDT dann wieder ein label aktualisiere was mir sagt "fertsch" oder ne List mit den daten füllen ? wäre das de richtige ansatz?
 

André Uhres

Top Contributor
Man kann auch zwischendurch im Workerthread Resultate ausgeben.
Mein Beispiel oben ist aber in der Tat der falsche Ansatz, sorry.
Richtig wäre, die publish Methode zu benutzen:
Code:
SwingWorker load = new SwingWorker<JPanel, JButton>() {

    @Override
    protected JPanel doInBackground() throws Exception {
        for (int i = 0; i < listOfFiles.length; i++) {
            if (listOfFiles[i].isFile()) {
                String path = listOfFiles[i].getPath();
                ImageIcon icon = new ImageIcon(path);
                thumbnail = new ImageIcon(resizedImage(icon.getImage(), 33, 33));    // Thumbnail(ImageIcon) ist das verkleinerte Bild
                button = new JButton(thumbnail);
                button.setName(path);
                button.addActionListener(new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e) {
                        Image img = new ImageIcon(((JButton) e.getSource()).getName()).getImage();
                        paneImage.setImage(img);
                    }
                });
                publish(button);
            }
        }
        return tabPanel;
    }

    @Override
    protected void process(java.util.List<JButton> chunks) {
        for (JButton bt : chunks) {
            tabPanel.add(bt);
        }
        tabPanel.revalidate();
    }
};
EDIT: Hab die process Methode jetzt noch verbessert.
Um ein Resultat zum Schluss auszugeben, benutzt man die done Methode :
Code:
   @Override
    protected void done() {
        try {
            JPanel tabPanel = get();
            tabPanel.revalidate();
            System.out.println("done");
        } catch (InterruptedException ex) {
            ex.printStackTrace();
        } catch (ExecutionException ex) {
            ex.printStackTrace();
        }
    }
(Die done Methode ist aber im vorliegenden Fall nicht nötig.)
 

gurisingh

Mitglied
Hallo !

Ersteinmal vielen Dank fuer eure Beitraege :).

@André Uhres
Ja, der neue Code funktioniert wunderbar. Vielen Dank dafuer.


Zum Verstaendnis:
Normalerweise wuerde ich ja die InvokeLater Methode im Hauptprogramm benutzen, ob die Komponenten neu zu laden, doch die Publish Methode tut dies automatisch und jedesmal wenn die publish methode aufgerufen wird, wird automatisch die progress methode auch aufgerufen. Und in der Progress Methode werden die Buttons dann hinzugefuegt und revalidated.

Ist das so richtig ?

Koennte ich auch im HauptProgramm invokeLater(Runnable run..) machen, um es zum laufen zu bringen? Oder braeuchte ich unbedingt die publish/progress methode um das wieder anzuzeigen?




Code:
java.util.List<JButton> chunks
Was genau bedeutet das ? Du uebergibts das durch publish, richtig ? Warum hast du das java.util.List<JButton> chunks geschrieben. Koennte man auch JButton chunks schreiben? Waere das das gleiche?

PS:
Code:
paneImage.setImage(img)
funktioniert nicht. Was ich vorhatte ist, im ImagePanel noch ein normales Panel einzubauen und die Bilder in das normal JPanel einzubauen.
 

Marco13

Top Contributor
Man könnte das ganze publish/process/done-Gewurschtel auch mit eigenen Thread und invokeLater nachbauen, aber der SwingWorker hat ja gerade den Zweck, einem diese Arbeit abzunehmen.

Das, was in der publish-Methode übergeben wird (hier der neue Button), wird "zwischengespeichert" - man weiß ja nie, ob das, was dort übergeben wird, sofort verarbeitet werden kann. WENN mal Zeit ist, das zu verarbeiten, wird alles abgearbeitet, was in den vergangenen Aufrufen von "publish" angesammelt wurde - und das ist die List der JButtons.
 

André Uhres

Top Contributor
Die Methode "SwingWorker.publish" nimmt eine variable Anzahl von Argumenten entgegen.
Jedes Argument muss von dem Typ sein, den der zweite Typparameter von SwingWorker angibt.

Um die Resultate, die "publish" liefert, zu sammeln, überschreiben wir die Methode "SwingWorker.process".
Diese Methode wird vom "event dispatch thread" aus aufgerufen. Die Resultate von mehrfachen
publish-Aufrufen werden oft in einer Liste gesammelt für einen einzigen Aufruf von "process".

Die Methode "setImage" könnte man in deiner Klasse "ImagePanel" ungefähr so implementieren:
Code:
class ImagePanel extends JPanel {
    private Image image;
    public ImagePanel(final Image image) {
        this.image = image;
    }
    public Dimension getPreferredSize() {
        return new Dimension(image.getWidth(this), image.getHeight(this));
    }
    protected void paintComponent(final Graphics g) {
        super.paintComponent(g);
        g.drawImage(image, 0, 0, this);
    }
    public void setImage(final Image img) {
        image = img;
        revalidate();
        repaint();
    }
}
 

gurisingh

Mitglied
Hallo nochmal.

Der ActionListener funktioniert leider immer noch nicht. Egal wo ich button.addActionListener(this) hin tue, er gibt mir ein NullPointerException aus. Anscheinend findet er die Source nicht.

Hat einer von euch eine Idee wie ich den Action Listener implementieren koennte?

@André Uhres
Code:
button.addActionListener(new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e) {
                        Image img = new ImageIcon(((JButton) e.getSource()).getName()).getImage();
                        paneImage.setImage(img);
                    }
                });

Das funktioniert leider auch nicht.


Aktueller Code:

Code:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.swing.*;

import java.io.FilenameFilter;

class WindowDesign extends JFrame implements ActionListener {
	private static final long serialVersionUID = 1L;
	JPanel panelInTab = new JPanel();
    JPanel mainPanel = new JPanel();
    JPanel obenPanel = new JPanel();
    JPanel untenPanel = new JPanel();
    JPanel obenLinksPanel = new JPanel();
    JPanel obenMittePanel = new JPanel();
    JPanel obenRechtsPanel = new JPanel();
    JTabbedPane Tab = new JTabbedPane(JTabbedPane.BOTTOM);
	File folder = new File("C:\\images\\");
    FilenameFilter filter = new FileListNames(".jpg");
    File[] listOfFiles = folder.listFiles(filter);
	JButton button;
	ImageIcon icon, thumbnail;
	ImagePanel paneImage = new ImagePanel(new ImageIcon("C:\\images\\pic00.jpg").getImage());
	JButton buttonBig;
	
	public WindowDesign() {
		super("Bilder laden");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(1024, 768);
		BoxLayout box = new BoxLayout(mainPanel, BoxLayout.Y_AXIS);
		obenPanel.setPreferredSize(new Dimension(1024, 600));
		untenPanel.setPreferredSize(new Dimension(1024, 168)); 
		obenLinksPanel.setPreferredSize(new Dimension(100,600));
		obenMittePanel.setPreferredSize(new Dimension(824,600));
		obenRechtsPanel.setPreferredSize(new Dimension(100,600));
		Tab.add("1",panelInTab);
		untenPanel.add(Tab);
		obenMittePanel.add(paneImage);
		obenPanel.add(obenLinksPanel);
		obenPanel.add(obenMittePanel);
		obenPanel.add(obenRechtsPanel);
        mainPanel.add(obenPanel);
        mainPanel.add(untenPanel);
        add(mainPanel);
		setLookAndFeel();
        setVisible(true);
        load.execute(); 
        
	}
	
	
	SwingWorker load = new SwingWorker<JPanel, JButton>() {
		
		@Override
		protected JPanel doInBackground() throws Exception {
			
			int a = 1;
		  	int tabsAnzahl = 1;
		  	for (int i = 0; i < listOfFiles.length;i++){
		  		String path = listOfFiles[i].getPath();
		  		icon = new ImageIcon(path);
		  		thumbnail = new ImageIcon(resizedImage(icon.getImage(), 33, 33));
		  		button = new JButton(thumbnail);
		  		
		  		panelInTab.add(button);

		  		if (a==10) {
		  			try{ 
		  				if (listOfFiles[i+1].isFile()){  
		  					tabsAnzahl++;
		  					panelInTab = new JPanel();
		  					Tab.addTab(Integer.toString(tabsAnzahl), panelInTab);	
		  					button=new JButton();
		  					a = 0;
		  				}
		  			}
		  			catch (ArrayIndexOutOfBoundsException aio){		}
		  		}	
		  		publish(button);
		  		a++;
		  		
		  	}
		  	panelInTab.revalidate();
			return null;
		}

};
	
	private void setLookAndFeel()	{
		try        	{
			UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
			SwingUtilities.updateComponentTreeUI(this);
		} 
		catch (Exception e)       {
			System.err.println("Couldn't use the system "  + "look and feel: " + e);
		}
	}
	

	private Image resizedImage(Image icon2, int w, int h) {                            //Bildergroesse wird angepasst
		BufferedImage resizedImg = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
		Graphics2D g2 = resizedImg.createGraphics();
		g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
		g2.drawImage(icon2, 0, 0, w, h, null);
		g2.dispose();
		
		return resizedImg;
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		Object source = e.getSource();
		
	}


}


class FileListNames implements FilenameFilter {
    File folder = new File("C:\\images\\");
    File[] listOfFilesChecked;
    String extension;
    public FileListNames(String extension) {
    	this.extension = extension;
	}

	@Override
	public boolean accept(File dir, String name) {
		if (name.endsWith(this.extension)) {
			return true;
		}
		else {
			return false;
		}
	}
		
}
 

gurisingh

Mitglied
Code:
private class actionTest implements ActionListener {
		String imagedir = "//images//";
	    public actionTest(JButton button2){
			button.addActionListener(this);
		}
   
	    
	    @Override
		public void actionPerformed(ActionEvent e) {
		    Object source = e.getSource();
	    	JButton but = (JButton)source;
		    String name = but.getText();
		    ImageIcon ico = new ImageIcon(name);
		    paneImage.setImage(ico.getImage());
		    paneImage.revalidate();
		}
		
	}


}

Dieser Code funktioniert, nur ist das Problem, dass ich das nur hinbekommen habe, weil ich den Buttons die Pfade als String Text gegeben habe. Das Problem ist halt, dass die pfade auch angezeigt werden mit den Bildern.
Kann ich irgendwie einen Text zuweisen, ihn aber nicht anzeigen lassen, damit ich mithilfe des pfades zu den richtigen Bilder referenzieren kann, oder gibts andere moeglichkeiten?
 

gurisingh

Mitglied
Hallo,

Nur um den Thread abzuschließen. Ich hab es selber geschafft. Hier ist der Code:


Code:
	public void ExchangeButtons(JButton button3, String path) {
		actionTest at = new actionTest(button3, path);
	}
	
	
private class actionTest implements ActionListener {
		public actionTest(JButton button2, String path){
			button.addActionListener(this);
			button.setName(path);
		}
 	    @Override
		public void actionPerformed(ActionEvent e) {
		    JButton but = (JButton)e.getSource();
		    String a = but.getName();
	    	ImageIcon ico = new ImageIcon(a);
	    	ImageIcon thumbnail = new ImageIcon(resizedImage(ico.getImage(), 800, 550));
		    paneImage.setImage(thumbnail.getImage());
		    paneImage.revalidate();
		}	
	}
}

Eine nested Class hat mir hier weiter geholfen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C SwingWorker stoppen Java Basics - Anfänger-Themen 7
C SwingWorker mit Fehler Java Basics - Anfänger-Themen 2
C Threads SwingWorker läuft trotz cancel weiter Java Basics - Anfänger-Themen 22
O Swingworker/Thread Java Basics - Anfänger-Themen 3
S SwingWorker Java Basics - Anfänger-Themen 3
G Unterschied zwischen SwingWorker und "normalem" Th Java Basics - Anfänger-Themen 3
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
G Mit jPackage erstellte EXE funktioniert nicht Java Basics - Anfänger-Themen 2
G Robot funktioniert nicht bei SelectionListener Java Basics - Anfänger-Themen 6
R RegEx funktioniert nicht Java Basics - Anfänger-Themen 14
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
monsterherz Punkt Notation funktioniert nicht Java Basics - Anfänger-Themen 4
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9
ms_cikar Bin to Float convertieren funktioniert nicht Java Basics - Anfänger-Themen 24
B Schrankensystem mit Farberkennung für Flashgame funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
I Greenscreen, funktioniert nicht zu 100%... nicht alle Pixel werden geändert Java Basics - Anfänger-Themen 1
JordenJost char variable funktioniert irgendwie nicht a+b ergibt nicht à Java Basics - Anfänger-Themen 4
M Operatoren Strings mit Vergleichsoperatoren, funktioniert das? Java Basics - Anfänger-Themen 9
Garrit1994 Continue funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
B Methoden Übergebe Variabel funktioniert nicht Java Basics - Anfänger-Themen 17
P exportiertes Programm funktioniert nur teilweise Java Basics - Anfänger-Themen 7
Agent4nobody Programmstart durch aufruf des interpreters funktioniert nicht Java Basics - Anfänger-Themen 14
Fugover Programm funktioniert nicht Java Basics - Anfänger-Themen 11
X Datentypen String.equals funktioniert nicht Java Basics - Anfänger-Themen 5
berserkerdq2 wie funktioniert contenthandler, was muss ich bei der Methode startElement und endElement tun? Java Basics - Anfänger-Themen 11
Alen123 Warum funktioniert mein Code nicht? Java Basics - Anfänger-Themen 64
sserio Array funktioniert nicht Java Basics - Anfänger-Themen 2
sserio Wieso funktioniert mein Programm nicht Java Basics - Anfänger-Themen 2
A String split funktioniert nicht, wenn mehr als 1 Ziffer vor dem Zeichen steht nach dem er trennen soll? Java Basics - Anfänger-Themen 4
sserio Größtes Palindrom-Produkt Programm funktioniert nur halb Java Basics - Anfänger-Themen 23
sserio Rekursion größten Primfaktor finden funktioniert nicht Java Basics - Anfänger-Themen 8
sserio Wieso funktioniert mein TableView nicht /JavaFX. Java Basics - Anfänger-Themen 4
Avalon Warum funktioniert eine Bedingung und eine andere nicht? Java Basics - Anfänger-Themen 2
J Datentypen String in File konvertieren funktioniert nicht Java Basics - Anfänger-Themen 4
U Wie genau funktioniert der ! Operator Java Basics - Anfänger-Themen 3
stormyark 4 Bit in einer for-schleife funktioniert nicht Java Basics - Anfänger-Themen 3
J Nach dem Exportieren funktioniert mein Programm nicht mehr Java Basics - Anfänger-Themen 8
M Java printf(Locale.... funktioniert nicht Java Basics - Anfänger-Themen 3
N Wieso funktioniert die Deklaration nicht Java Basics - Anfänger-Themen 3
C Long value an Stringbuilder übergeben, equals Methode funktioniert nicht Java Basics - Anfänger-Themen 2
districon Backtracking funktioniert nicht ganz Java Basics - Anfänger-Themen 3
H Array rückwärts auslesen funktioniert nicht Java Basics - Anfänger-Themen 3
S Math.random funktioniert nicht Java Basics - Anfänger-Themen 5
S Schleife funktioniert nicht Java Basics - Anfänger-Themen 2
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2
Henri Webservice Delete und Update Methode funktioniert nicht Java Basics - Anfänger-Themen 27
J ActionListener von JCheckBox im Knoten von JTree funktioniert nicht Java Basics - Anfänger-Themen 2
C System.out.println - Parameterübergabe funktioniert nicht Java Basics - Anfänger-Themen 2
JD_1998 Hilfsmethode if return funktioniert nicht Java Basics - Anfänger-Themen 2
C JButton Text 2 Mal ändern funktioniert nicht Java Basics - Anfänger-Themen 8
T % funktioniert nicht Java Basics - Anfänger-Themen 2
D e(fx)clipse installieren funktioniert nicht Java Basics - Anfänger-Themen 3
D GPIO Nutzung mit Pi4J Library auf Raspberry funktioniert nicht Java Basics - Anfänger-Themen 3
F Java GUI-PaintComponent funktioniert nicht Java Basics - Anfänger-Themen 1
J equals funktioniert nicht - Warum Java Basics - Anfänger-Themen 13
L hilfe run button funktioniert nicht Java Basics - Anfänger-Themen 13
I Array funktioniert nicht. Java Basics - Anfänger-Themen 2
T if else Befehl funktioniert nicht richtig Java Basics - Anfänger-Themen 27
V_Fynn03 Erste Schritte BubbleSort Quelltext funktioniert noch nicht Java Basics - Anfänger-Themen 1
V_Fynn03 Erste Schritte JButton funktioniert nicht trotz richtiger Methode. Java Basics - Anfänger-Themen 17
R Erste Schritte Eclipse - Java - System.out.println(); funktioniert nicht Java Basics - Anfänger-Themen 2
G Programm mit Schleife funktioniert nicht Java Basics - Anfänger-Themen 5
T Redirect funktioniert nicht Java Basics - Anfänger-Themen 3
R Mein Plugin funktioniert nicht? Java Basics - Anfänger-Themen 10
J Zufallszahl funktioniert nicht Java Basics - Anfänger-Themen 27
D Klassen add Methode funktioniert nicht. Java Basics - Anfänger-Themen 31
J ImagaIO funktioniert nicht unter Ubuntu Java Basics - Anfänger-Themen 23
F Vergleiche mit charAt funktioniert bei Strings nicht, was tun? Java Basics - Anfänger-Themen 5
N Wochentagberechner Ausgabe funktioniert nicht Java Basics - Anfänger-Themen 7
G Mein Java Projekt funktioniert nicht Java Basics - Anfänger-Themen 5
J Einlesen von Datei funktioniert nicht Java Basics - Anfänger-Themen 8
W Wieso funktioniert mein Switch Case nicht ?! Java Basics - Anfänger-Themen 9
P Zeichenkette Zeichen ausschlißen funktioniert nicht richtig Java Basics - Anfänger-Themen 9
F Primzahlsuche Schleife funktioniert nicht, HILFE! Java Basics - Anfänger-Themen 8
M Methoden Arrays.deepequals() funktioniert nicht Java Basics - Anfänger-Themen 2
B Statische Methode return funktioniert nicht. Java Basics - Anfänger-Themen 19
S JDK 9 für Windows 32 bit installiert, aber es funktioniert nix Java Basics - Anfänger-Themen 6
F Input/Output die eine txt-Datei funktioniert die andere nicht Java Basics - Anfänger-Themen 8
CptK Interface Bild über Methode ändern funktioniert nicht Java Basics - Anfänger-Themen 4
D Funktion zwei Arraylisten zu verleichen ob gleich funktioniert nicht Java Basics - Anfänger-Themen 26
A Hilfe bei Rekursion,Ich verstehe nicht,wie funktioniert die Rekursion in der Methode "walk" Java Basics - Anfänger-Themen 13
P Vererbung Warum funktioniert die Vererbung hier nicht Java Basics - Anfänger-Themen 14
P Upload Button funktioniert nicht Java Basics - Anfänger-Themen 13
S Dijkstra Algorithmus funktioniert nicht Java Basics - Anfänger-Themen 4
M Datei einlesen mit Scanner funktioniert nicht (FileNotFoundException) Java Basics - Anfänger-Themen 6
A TicTacToe funktioniert bis auf "schiefer" Sieg Java Basics - Anfänger-Themen 6
M Erste Schritte Importieren funktioniert nicht Java Basics - Anfänger-Themen 7
N Funktion funktioniert nicht immer Java Basics - Anfänger-Themen 6
F FileCreation - PrintWriter funktioniert nicht... Java Basics - Anfänger-Themen 1
I Collections.shuffle funktioniert nicht Java Basics - Anfänger-Themen 1
T Methode in Klasse funktioniert nicht Java Basics - Anfänger-Themen 14
T While Schleife funktioniert nicht Java Basics - Anfänger-Themen 14
C Warum funktioniert 'instanceof' bei generics nicht? Java Basics - Anfänger-Themen 4
M Frage, wie dieser Code funktioniert, bzw. weshab er bei mir nicht funktioniert Java Basics - Anfänger-Themen 4
L Level Reset funktioniert nicht Java Basics - Anfänger-Themen 3
A Java Scanner Funktioniert nicht Java Basics - Anfänger-Themen 2
R Kleines Java Spiel funktioniert nicht. Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben