Klassen Wert aus JTextfield in JLabel (andere Klasse) darstellen.

DerMarkus

Mitglied
Hallo Programmierer,

da das Brotcruncher-Forum down ist versuche ich hier Hilfe zu bekommen.
Zunächst möchte ich sagen, das mein Problem zwar schon in unzähligen Foren,und tausendmal in Googel behandelt wurde. Dennoch stehe ich vor einer Wand und komme nicht durch. Selbst ein dickes Buch kann mir momentan wohl nicht weiterhelfen.
Kurz zu meinem Problem:
in einem Fenster (weiterNummer) gebe ich in ein JTextfield einen Wert (3-stellige Zahl) ein, welcher überprüft wird.
Code:
...
public class weiterNummer extends JFrame{
 
    public JTextField nummernEingabe;
    JTextArea erklärung;
    JLabel suchenEingabe;
    JButton suchen;
    JButton zurück;
    JButton beenden;
    JLabel  nummerTestAusgabe;
   
public weiterNummer() {
       
        setVisible(true);
        setLocation(400, 150);
        setSize(555, 500);
        setTitle("Nummernauswahl");
        setResizable(false);
        setLayout(null);
       
        erklärung = new JTextArea();
        erklärung.setBounds(30, 20, 560, 200);
        erklärung.setLineWrap(true);
        Font  schriftart2 = erklärung.getFont().deriveFont(Font.BOLD + Font.ITALIC, 18);
        erklärung.setFont(schriftart2);
        erklärung.setText("Willkommen zurück,\njetzt kannst du, wenn die Liedernummer bekannt ist,\nnach dem Lied suchen.\n\n Im Feld weiter unten kannst du die Liednummer\neingeben.");
        add(erklärung);
       
        suchenEingabe = new JLabel("Liednummer: ");
        Font  schriftart3 = erklärung.getFont().deriveFont(Font.BOLD,20);
        suchenEingabe.setFont(schriftart3);
        suchenEingabe.setBounds(30, 240, 150, 30);
        add(suchenEingabe);
               
        nummernEingabe = new JTextField();
        nummernEingabe.setBounds(160, 240, 60, 30);
        nummernEingabe.setFont(schriftart2);
        addWindowListener(new WindowAdapter() {
            public void windowOpened(WindowEvent e){
                nummernEingabe.requestFocus();
            }
        }); 
        add(nummernEingabe);
                     
        suchen = new JButton("suchen");
        suchen.setBounds(415, 240, 100, 30);
        suchen.addActionListener(new SuchenListener ());
        add(suchen);
               
        beenden = new JButton("Beenden");
        beenden.setBounds(400, 400, 100, 30);
        beenden.addActionListener(new BeendenListener (this));
        add(beenden);
       
        zurück = new JButton("Zurück");
        zurück.setBounds(50, 400, 100, 30);
        zurück.addActionListener(new ZurückListener (this));
        add(zurück);
    }

public class nummernEingabe extends javax.swing.JTextField {
}
   
      public class SuchenListener implements ActionListener {
       
        JFrame anzeigeLiedFenster;
        JFrame hinweisNummerFenster;
       
          public void actionPerformed(ActionEvent ne) {
             
              int min = 1;
             int max = 462;          
              int eingabe;
              try {
               eingabe = Integer.parseInt(nummernEingabe.getText());
               
              } 
              catch (Exception e) {
               hinweisNummerFenster = new hinweisNummerFenster();
               nummernEingabe.requestFocus();
               nummernEingabe.setText("");
               return;
              }
              if ((eingabe >= min) && (eingabe <= max)) {
                  anzeigeLiedFenster = new anzeigeLiedFenster(eingabe);
                  nummernEingabe.setText("");
                  dispose();
              } 
              else {
                  hinweisNummerFenster = new hinweisNummerFenster();
                  nummernEingabe.requestFocus();
                  nummernEingabe.setText("");
              }
          }
          }
     
    public class ZurückListener implements ActionListener {
        JFrame WillkommenFenster;
            ZurückListener(JFrame willkommenFenster) {
            }
        public void actionPerformed(ActionEvent e) {
            setVisible(false);
            WillkommenFenster = new willkommenFenster();
        }
    }
       
    public class BeendenListener implements ActionListener {
        JFrame BeendenFenster;
            BeendenListener(JFrame beendenFenster) {
            }
        public void actionPerformed(ActionEvent e) {
            BeendenFenster = new beendenFenster();
        }
    }
}
Durch Klick auf einen Button öffnet sich ein neues Fenster (anzeigeLiedFenster). Hier ist das JLabel welches die Zahl, die ich im Textfield (Fenster (weiterNummer)) eingetragen habe, angezeigt erden soll.
Code:
...
public class anzeigeLiedFenster extends JFrame {

    public JLabel liednummer;
    JLabel Liedtext;
    JButton liedAnhören;
    JButton beenden;
    JButton zurück;   
   
public anzeigeLiedFenster(int eingabe) {
       
        setVisible(true);
        setLocation(400, 150);
        setSize(555, 500);
        setTitle("Anzeige Lied");
        setResizable(false);
        setLayout(null);
       
        //liednummer = new JLabel("Hier sollte die Nummer stehen!");
        //liednummer = new JLabel(nummernEingabe.setText(eingabe));
        liednummer.setBounds(20, 00, 200, 30);
        add(liednummer);

        zurück = new JButton("Zurück");
        zurück.setBounds(50, 400, 100, 30);
        zurück.addActionListener(new ZurückListener (this));
        add(zurück);
       
        beenden = new JButton("Beenden");
        beenden.setBounds(400, 400, 100, 30);
        beenden.addActionListener(new BeendenListener (this));
        add(beenden);
               
        }
       
        public class ZurückListener implements ActionListener {
        JFrame weiterNummer;
            ZurückListener(JFrame weiterNummer) {
            }
        public void actionPerformed(ActionEvent e) {
            //setVisible(false);
            weiterNummer = new weiterNummer();
            dispose();
        }
    }
       
    public class BeendenListener implements ActionListener {
        JFrame BeendenFenster;
            BeendenListener(JFrame beendenFenster) {
            }
        public void actionPerformed(ActionEvent e) {
            BeendenFenster = new beendenFenster();
        }
    }
       
}

die vielen codeSchnipsel, die ich aus Foren, von Googel und aus Büchern habe, nutze und einbaue, führen ständig zu Fehlern...

Nun hoffe ich auf Eure Hilfe, und bedanke mich im Voraus dafür!!!
 

JStein52

Top Contributor
Du kannst dir in deiner Klasse weiterNummer eine Getter-Methode machen die du in der Klasse anzeigeLiedFenster aufrufst. Das Textfeld public zu machen ist nie eine gute Idee. Und auf jeden Fall braucht deine Klasse anzeigeLiedFenster eine Referenz auf das Objekt der Klasse weiterNummer um die Getter-Methode aufrufen zu können.
 

Harry Kane

Top Contributor
Ich weiss, dass man als Anfänger dazu neigt, für jeden Pups eine eigene Klasse zu schreiben. Dan steht man allerdings manchmal vor dem Problem, dass Komponenten, die zu verschiedenen Klassen gehören, irgendwie zusammenarbeiten müssen (JButton in Klasse Auswertung braucht den Inhalt vom JTextField in Klasse MeineGUI und so Scherze). In solchen Fällen rate ich meist dazu, erst einmal alles in eine Klasse zu packen, anstatt die Klassen mit Referenzen aufeinander kreuz und quer zu verknoten. Solche Verknotungen lassen sich nämlich später meist kaum noch nachvollziehen und führen auch bei einfachen Problemen zu ziemlich kompliziertem Code.
In deinem Fall ist so ein Umbau aber nicht notwendig. Wenn man sich deinen Code genauer anschaut, erkennt man, dass der Inhalt von nummernEingabe schon in Form der int-Variablen "eingabe" an anzeigeLiedFenster übergeben wurde. Du kannst also einfach schreiben
Java:
liednummer = new JLabel(String.valueOf(eingabe));
Deine Variante
Java:
liednummer = new JLabel(nummernEingabe.setText(eingabe));
funktioniert schon deshalb nicht, weil setText() ein setter ist und nichts zurückgibt.
Ansonsten:
- Java-Namenskonventionen beachten und Klassen gross schreiben.
- Nicht von JFrame ableiten, sondern in der Klasse, die für die Gui zuständig ist, eine Instanz von JFrame erzeugen und die dann mit den Gui-Komponenten füllen.
 

DerMarkus

Mitglied
Hallo JStein52, hallo Harry kane,

danke dir für die schnelle Hilfe.
die Getter Methode (meine ich) hier schon zu haben:
Code:
eingabe = Integer.parseInt(nummernEingabe.getText());

allerdings wäre ich zur Zeit nie auf den Vorschlag von Harry Kane gekommen:
liednummer = new JLabel(String.valueOf(eingabe));

Entscheident war das valueOf; denn mit String.(eingabe) bekam ich halt nichts bzw. ein leeres Label.

Danke Euch für Die schnelle Hilfe.

Die nächste Hürde wäre, die Zahl aus dem Textfield als Dateiname (Zahl.txt) in einem Ordner zu finden und den Inhalt dieser Datei in ein neues Label (lieber Textarea) auszugeben.
 

DerMarkus

Mitglied
Hallo Harry Kane,
das klingt ziemlich einfach für einen Programmier-Guru. Ich werde da bestimmt so meine Probleme haben.
Folgendes, die Dateien liegen in einem festen Verzeichnis und die Dateinamen sind immer gleich aufgebaut: 000 XXXXXXX (also 3-stellige Nummer und Text). Nun kann ich (theoretisch) über die Eingabe im Textfield die Datei raussuchen und in 2 Labeln (1. Label Dateiname; 2. Label Dateiinhalt) ausgeben.
Über weitere Unterstützung bei der Realisierung bin ich allen dankbar.
 
Zuletzt bearbeitet:

JStein52

Top Contributor
Ich habe immer noch nicht verstanden ob du den Dateinamen mit den Infos aus dem Textfeld jetzt eindeutig bestimmen kannst oder nicht ? Also im Textfeld steht 21 dann heisst die Datei "021.txt" ???
 

DerMarkus

Mitglied
Hab jetzt mal nen Versuch gestartet:
Code:
...
public class SuchenListener implements ActionListener {
       
          JFrame anzeigeLiedFenster;
        JFrame hinweisNummerFenster;
       
          public void actionPerformed(ActionEvent ne) {
             
              int min = 1;
             int max = 462;          
              int eingabe;
              try {
               eingabe = Integer.parseInt(nummernEingabe.getText());
               
              } 
              catch (Exception e) {
               hinweisNummerFenster = new hinweisNummerFenster();
               nummernEingabe.requestFocus();
               nummernEingabe.setText("");
               return;
              }
              if ((eingabe >= min) && (eingabe <= max)) {
                 
                  File lied = new File("C:\\Users\\marku\\Documents\\Programmieren" + eingabe + "*.txt");
                     
                  if (lied.exists()) {
                          anzeigeLiedFenster = new anzeigeLiedFenster(eingabe);
                          nummernEingabe.setText("");
                        dispose();
                  }
                  else {
                          hinweisNummerFenster = new hinweisNummerFenster();
                          nummernEingabe.requestFocus();
                        nummernEingabe.setText("");
                  }
                 
                  //anzeigeLiedFenster = new anzeigeLiedFenster(eingabe);
                  //nummernEingabe.setText("");
                  //dispose();
              }
             
              else {
                  hinweisNummerFenster = new hinweisNummerFenster();
                  nummernEingabe.requestFocus();
                  nummernEingabe.setText("");
              }
   
          }
          }

leider scheint das nicht so zu funktionieren wie ich das gerne hätte.
Leider wird die innere "existenzschleife" nicht aufgerufen....
 

DerMarkus

Mitglied
Du hast recht, ein "/" (hab das mit "/" statt"\\") fehlte noch, leider liegt es aber nicht daran. das Programm springt zur inneren "else" schleife (hinweisNummerFenster geht auf) und danach wird die äußere "if" Schleife (anzeigeLiedFenster geht auf) ausgeführt.

Mir ist noch etwas aufgefallen: Bei Dateinamen unter 100 mußte ich eigentlich im Textfeld eine oder zwei führende Nullen eingeben, was relativ blöd ist. Wäre das evtl anders zu realisieren? Sprich ich gebe eine 1 ein und gesucht wird die datei die mit 001 beginnt.
 
Zuletzt bearbeitet:

Robat

Top Contributor
Sicher, dass das mit dem * im Namen so funktioniert?

Warum nicht einfach eine kleine Methode schreiben, die einem alle Dateien, die den Substring im Namen haben, zurückgibt.
Java:
private List<File> findFilesWithSubstring(String subString)
{
    List<File> fileList = new ArrayList<>();

    try (Stream<Path> paths = Files.walk(Paths.get("DEIN/PFAD/ZU/DEM/ORDNER/"))) //Bspw: System.getProperty("user.dir") + "/src/"
    {
        paths.filter(path -> path.toString()
                .contains(subString))
                .forEach(e -> fileList.add(e.toFile()));
    }
    catch (IOException ex)
    {
        ex.printStackTrace();
    }

    return fileList;
}
 

DerMarkus

Mitglied
ja JStein52 den Link bin ich gefolgt und hab den Text gelesen. Leider blicke ich da zur Zeit noch nicht ganz durch.
Auch die Methode von Robat bringt mich irgendwie nicht weiter.
:confused::confused::confused:
 

JStein52

Top Contributor
Ok. Ich würde an deiner Stelle jetzt schrittweise vorgehen.
Erster Schritt: Deinen Listener überprüfen ob er prinzipiell funktioniert. Dazu machst du dir in deinem Verzeichnis in dem du die Datei suchst mal versuchsweise eine die exakt auf die eingegebene Nummer passt, also z.B. 021.txt und diese Zeile änderst du so ab:
Code:
File lied = new File("C:\\Users\\marku\\Documents\\Programmieren\\" + String.format("%03d", eingabe) + ".txt");
Dann gibst du in deinem Eingabefeld die Nummer 21 ein.

Zweiter Schritt: du machst dir eine Methode so ähnlich wie Robat vorgeschlagen hat. Dieser übergibst du als Input den Interger-Wert "eingabe" und sie liefert dir das zugehörige File-Objekt zurück. (oder können zu einer Zahl mehrere Treffer existieren ? Dann eben eine Liste von File's .
 

Harry Kane

Top Contributor
Ich habe komplett den Überblick verloren, was der tiefere Sinn des Programmes ist. Geht es darum, Dateien auszuwählen und zu öffnen? Wenn ja: kennst du die Klassen JFileChooser, javax.swing.filechooser.FileFilter und java.io.FilenameFilter?
 

DerMarkus

Mitglied
Hallo JStein52,

Das mein Listener funktioniert, denke ich, sehe ich daran das die Zahl im Label im nächsten Fenster angezeigt wird.
Jede Zahl (datei) gibt es nur einmal von 1 - 462.

@Harry Kane,
der Tiefere Sinn ist eine Konkordanz zu einem Liederchorbuch.
die von dir angesprochenen Klassen versuche ich grade ein zubauen; bisher leider erfolglos.
 

Harry Kane

Top Contributor
Ich persönlich finde, dass du dich mit deinen ganzen Klassen wie SuchenListener, anzeigeLiedFenster und hinweisNummernFenster etwas verlaufen hast. Für den Anfang würde ich klein anfangen und erstmal nur so viele Klassen wie nötig anlegen.
Zur Verwendung von JFileChooser hier ein Beispiel:
Java:
package swingawt;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.AbstractListModel;

/**
 *
 * @author Harry Kane
 */
public class FileLoader {

    public static void main(String[] args) {
        new FileLoader();
    }

    public FileLoader() {
        JFrame frame = new JFrame("File Loader");
        Box box = Box.createVerticalBox();
        JButton select = new JButton("Verzeichnis auswählen");
        box.add(select);
        FileListModel flm = new FileListModel();
        box.add(new JScrollPane(new JList(flm)));
        select.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent ae){
                JFileChooser jfc = new JFileChooser();
                jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
                int result = jfc.showOpenDialog(frame);
                if(result == JFileChooser.APPROVE_OPTION){
                    File selected = jfc.getSelectedFile();
                    flm.refresh(selected);
                }
            }
        });
        frame.setContentPane(box);
        frame.pack();
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }

    static class FileListModel extends AbstractListModel {

        private File startDir;

        private File[] files;

        public int getSize() {
            if (startDir == null || files == null) {
                return 0;
            }
            return files.length;
        }

        public Object getElementAt(int index) {
            if (startDir == null || files == null) {
                return 0;
            }
            return files[index];
        }

        public void refresh(File newStartDir) {
            if (newStartDir == null || newStartDir.isFile()) {
                return;
            }
            startDir = newStartDir;
            files = startDir.listFiles();
            super.fireContentsChanged(this, 0, files.length);
        }
    }
}
 

DerMarkus

Mitglied
:mad::mad::mad:
egal was ich versuche, es kommt immer nen Fehler Raus.

Code:
public void actionPerformed(ActionEvent ne) {
               
                int min = 1;
                int max = 462;          
                int eingabe = 0;
                try {                   
                  eingabe = Integer.parseInt(nummernEingabe.getText());
                }
                catch (Exception e) {
                }
                if ((eingabe >= min) && (eingabe <= max)) {
                   
                                       
                    anzeigeLiedFenster = new anzeigeLiedFenster(eingabe);
                    nummernEingabe.setText("");
                    dispose();       
                }
               
                else {
                   
                    hinweisNummerFenster = new hinweisNummerFenster();
                    nummernEingabe.requestFocus();
                    nummernEingabe.setText("");
                }
  
            }
Nach meinen (Miss)Verständnis müsste ich in der if-Bedinung ja ansetzen um weiter zu kommen; sprich im nächsten Fenster den zur Eingabe passenden Dateinamen stehen haben.

Aber egal was ich da reinschreibe oder rein Kopiere, nichts funktioniert. Langsam verzweifle ich noch...:(
 

Harry Kane

Top Contributor
das ist nur eines von vielen die ich ausprobiert habe. Aber das anpassen auf meine Variablen ist sehr umständlich.
außerdem habe ich ständig Syntaxfehler mit den{}
Zumindest dein zuletzt geposteter Codeblock ist in Bezug auf die geschweiften Klammern korrekt. Als Fehlerbeschreibung ist dein Beitrag immer noch nicht wirklich brauchbar. Was für Hilfe erwartest du als Reaktion darauf?
 

DerMarkus

Mitglied
Als Fehlerbeschreibung ist dein Beitrag immer noch nicht wirklich brauchbar
eine genaue Fehlerbeschreibung habe ich nicht, da ich Codeschnipsel oder Codebeispiele in meinen Code versuche ihn anzupassen und wenn es nicht läuft oder Fehlermeldungen da sind, lösche ich den Code wieder . Das habe ich heute ungefähr 30 - 40 mal gemacht. Am Beispielcode den ich gepostet habe versuche ich das mal zu erklären.
Java:
String str = "einmal probiert";

was habe ich versucht: "einmal probiert" versuche ich für mein Programm zu ändern.
Java:
String str = eingabe + "*.txt";
hm, scheint zu funktionieren. Nächste Zeile:
Java:
if("ein".equals(str.substring(3, 0))) {
So ich will ja nicht "ein" vergleichen sondern die Eingabe im JTextfield; also eingabe...
Java:
if(eingabe.equals(str.substring(3, 0))) {
hm funktioniert nicht...
Java:
if(String.valueOf(eingabe).equals(str.substring(3, 0))) {
Hm. Programm hängt...
Exception in thread "AWT-EventQueue-0" java.lang.StringIndexOutOfBoundsException: String index out of range: -3
at java.lang.String.substring(Unknown Source)
at Konkordanz.weiterNummer$SuchenListener.actionPerformed(weiterNummer.java:90)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Jetzt kommt der Punkt normalerweise wo ich alles wieder lösche, und von vorn anfange...
 

JStein52

Top Contributor
Code:
        int eingabe = 21;
        File lied;
        Path picturePath = Paths.get("C:\\Users\\juergen\\Documents\\");
        try (DirectoryStream<Path> files
                = Files.newDirectoryStream(picturePath, String.format("%03d", eingabe)+"*.txt")) {
            for (Path path : files) {
                System.out.println("path "+path.toAbsolutePath());
                lied = path.toAbsolutePath().toFile();
            }
        } catch (Exception ex) {
            System.out.println("Fehler!!!!");
        }

Du willst doch aus deiner Integervariablen "eingabe" den zugehörigen Filenamen (oder ein File-Objekt ?) erzeugen.
Dann lösch mal und probiere das da oben. In lied hast du dann ein passendes File-Objekt stehen. Deinen Pfad musst du halt noch anpassen
 

Harry Kane

Top Contributor
@DerMarkus Sagt dir der Begriff "API Documentation" etwas? Wenn ja, schaue in der String- Klasse nach der substring-Methode, genauer nach der Bedeutung der beiden int Parameter und und welcher Bedingung die Methode eine Exception wirft. Wenn Nein, google nach "java string api Documentation" und lese dir den ersten Treffer durch.
 

DerMarkus

Mitglied
Harry , hast recht. Die Parameter müssten (0,4) heißen.

beginIndex - the beginning index, inclusive.
endIndex - the ending index, exclusive.
 
Zuletzt bearbeitet:

DerMarkus

Mitglied
Halli Hallo, ich bin wieder da,
nachdem mein Rechner grunderneuert wurde (der Alte ist hops gegangen) melde ich mich wieder zurück mit alten und neuen Sorgen. Kurze Erinnerung: eine Zahl aus einem Textfeld möchte ich als Indikator für eine Datei in einer anderen Klasse verwenden.
Für alle die mir bisher geholfen haben; aber auch für weitere Hilfen bin ich sehr Dankbar.
 

ChrisianM

Mitglied
Hallo,
basierend auf den Code von Harry Kane habe ich nun einen FileLoader (bzw. Chooser) gebastelt, der ausgehend auf der Eingabe in einem TextField (hier mit 021 vorbelegt) nach Klick auf den Button "Verzeichnis auswählen" diese Eingabe als Filter für die anzuzeigenden Dateien verwendet.

Hilft dir das weiter?
Viele Grüße!

AnfängerHoch10

Klasse FileLoader:
Java:
package fileloader;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

import javax.swing.*;

public class FileLoader {

  public static void main(String[] args) {
    new FileLoader();
  }

  @SuppressWarnings({ "rawtypes", "unchecked" })
  public FileLoader() {
    JFrame frame = new JFrame("File Loader");
    Box box = Box.createVerticalBox();
    JButton select = new JButton("Verzeichnis auswählen");
    box.add(select);
    JTextField textField = new JTextField("021");    // Hier kommt die Eingabe rein, z. B. 021
    box.add(textField);
    
    FileListModel flm = new FileListModel();
    box.add(new JScrollPane(new JList(flm)));
    select.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent ae) {
        JFileChooser fileChooser = new JFileChooser();
        MyFilter filter = new MyFilter();
        
        // Hier übergibt der FileLoader die Eingabe an die Klasse MyFilter.
        // Diese Klasse verwendet die Eingabe als Filter, es werden also alle Dateien,
        // die z. B. mit 021 beginnen, aufgelistet.
        filter.setBeginOfName(textField.getText()); 
        fileChooser.setFileFilter(filter);
        
        // Hier das Verzeichnis setzen, in dem die Dateien sind:
        fileChooser.setCurrentDirectory(new File("C:\\Users\\...\\...\\"));
        int result = fileChooser.showOpenDialog(frame);
        if (result == JFileChooser.APPROVE_OPTION) {
          File selected = fileChooser.getSelectedFile();
          flm.refresh(selected);
        }
      }
    });
    frame.setContentPane(box);
    frame.pack();
    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }

  @SuppressWarnings("rawtypes")
  static class FileListModel extends AbstractListModel {

    private File startDir;

    private File[] files;

    @Override
    public int getSize() {
      if (startDir == null || files == null) { return 0; }
      return files.length;
    }

    @Override
    public Object getElementAt(int index) {
      if (startDir == null || files == null) { return 0; }
      return files[index];
    }

    public void refresh(File newStartDir) {
      if (newStartDir == null || newStartDir.isFile()) { return; }
      startDir = newStartDir;
      files = startDir.listFiles();
      super.fireContentsChanged(this, 0, files.length);
    }
  }
}

Klasse MyFilter:
Java:
package fileloader;

import java.io.File;
import javax.swing.filechooser.FileFilter;

public class MyFilter extends FileFilter {

  private String beginOfName;

  public String getBeginOfName() {
    return beginOfName;
  }

  public void setBeginOfName(String beginOfName) {
    this.beginOfName = beginOfName;
  }

  @Override
  public boolean accept(File file) {
    return file.getName().startsWith(getBeginOfName());
  }

  @Override
  public String getDescription() {
    return null;
  }
}
 
Zuletzt bearbeitet:

DerMarkus

Mitglied
Hallo AnfängerHoch10,
hallo alle,

das mit dem FileLoader ist schon eine gute Sache, und passt auch bestimmt in viele Programme rein, entspricht allerdings nicht den Anforderungen und meinen Vorstellungen.

Nochmal zur Vorstellung: ich gebe in einem Textfeld z.B. "21" ein (Achtung! hier muss allerdings nach "021..." gesucht werden!), und klicke auf den Button "suchen". Im neu erscheinenden Fenster (welchen schon existiert) steht dann oben in einem Label: Lied: "21 Xxx yyy zzz". In einer Textarea darunter soll dann der Inhalt der Datei "021 Xxx yyy zzz.txt" (das stellt, aufgrund der vielen tut's, kein großes Problem für mich dar).

Das erste wo ich mir halt unsicher bin, ist, wo fange ich mit diesem Code an? Vermutlich hier: if ((eingabe >= min) && (eingabe <= max)) {...
Code:
public class SuchenListener implements ActionListener {
      
          JFrame anzeigeLiedFenster;
        JFrame hinweisNummerFenster;
      
            public void actionPerformed(ActionEvent ne) {
              
                int min = 1;
                int max = 462;        
                int eingabe = 0;
                try {                  
                      eingabe = Integer.parseInt(nummernEingabe.getText());
                    
                    }
                    catch (Exception e) {
                    }
                    if ((eingabe >= min) && (eingabe <= max)) {
                      
                                              
                        anzeigeLiedFenster = new anzeigeLiedFenster(eingabe);
                        nummernEingabe.setText("");
                        dispose();      
                    }
                  
                    else {
                      
                        hinweisNummerFenster = new hinweisNummerFenster();
                        nummernEingabe.requestFocus();
                        nummernEingabe.setText("");
                    }
    
                }
          }
weiter habe ich Probleme mit der suche und den dazugehörigen Komponenten. Und, da keiner neben mir steht der mir sagen kann wie, was, wohin, warum... gestaltet alles etwas schwerer.
Daher habt etwas Geduld mit mir, wenn ich vor lauter Bäumen den Wald nicht sehe.
 

DerMarkus

Mitglied
so, jetzt habe ich mal was versucht:
Code:
.
.
.
if ((eingabe >= min) && (eingabe <= max)) {
                      
                        String.valueOf(eingabe);
                        //String liedNummer = null;
                        //new File(liedNummer);
                        Path folder = Paths.get("D:/Markus/Markus Programmieren/Liederkonkordanz/Lieder/Text/");
                      
                        try (DirectoryStream<Path> files = Files.newDirectoryStream(folder, String.format("%03d", eingabe)+" "+".txt")) {
                          
                            for (Path path : files) {
                          
                                System.out.println("path "+path.toAbsolutePath());
                                System.out.println(files);
                                path.toAbsolutePath().toFile();
                            }
                        }
                      
                        catch (Exception ex) {
                          
                            System.out.println("Fehler!!!!");
                        }
                      
                        anzeigeLiedFenster = new anzeigeLiedFenster(eingabe);
                        nummernEingabe.setText("");
                        dispose();
                      
                    }

zumindest beim schreiben gibt es jetzt wohl keine Fehler, allerdings, nachdem ich den wert ins Textfeld eingegeben habe und auf den Button "Suchen" klicke bleibt das Programm stehen.
die Zeile;
Code:
Path folder = Paths.get("D:/Markus/Markus Programmieren/Liederkonkordanz/Lieder/Text/");
wird grün markiert und folgende Fehlermeldung wird im Debugger angezeigt:
Name: no method return value Wert: WeiterNummer$SuchenListener (ID=48)
 

Harry Kane

Top Contributor
nachdem ich den wert ins Textfeld eingegeben habe und auf den Button "Suchen" klicke bleibt das Programm stehen
Das ist natürlich nicht so schön. Leider ist an deinem Code überhaupt nichts von einem Suchen-Button zu sehen, und auch nicht, welcher Code beim Klicken ausgeführt werden soll. Schliesslich habe ich keine Vorstellung davon was "stehen bleiben" in dem Kontext heissen soll.
Die Fehlermeldung kommt wohl nicht von von der von dir genannten Zeile, sondern von der Zeile dadrüber. Da rufst du "String.valueOf(eingabe)" auf, machst mit dem Rückgabewert aber gar nix.
 

DerMarkus

Mitglied
"stehen bleiben" passiert komischerweise nur wenn ich debugge, im "Standard Ablauf" passiert zwar etwas, aber noch nicht was ich will.
Klasse (Fenster): weiterNummer:
Code:
package Konkordanz;

import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

import javax.swing.*;


public class weiterNummer extends JFrame{
   
    public static final File dir = null;
    JTextField nummernEingabe;
    JTextArea erklärung;
    JLabel suchenEingabe;
    JButton suchen;
    JButton zurück;
    JButton beenden;
       
public weiterNummer() {
       
        setVisible(true);
        setLocation(400, 150);
        setSize(555, 500);
        setTitle("Nummernauswahl");
        setResizable(false);
        setLayout(null);
       
        erklärung = new JTextArea();
        erklärung.setBounds(30, 20, 560, 200);
        erklärung.setLineWrap(true);
        Font  schriftart2 = erklärung.getFont().deriveFont(Font.BOLD + Font.ITALIC, 18);
        erklärung.setFont(schriftart2);
        erklärung.setText("Willkommen zurück,\njetzt kannst du, wenn die Liedernummer bekannt ist,\nnach dem Lied suchen.\n\n Im Feld weiter unten kannst du die Liednummer (1 - 462)\neingeben.");
        add(erklärung);
       
        suchenEingabe = new JLabel("Liednummer:");
        Font  schriftart3 = erklärung.getFont().deriveFont(Font.BOLD,20);
        suchenEingabe.setFont(schriftart3);
        suchenEingabe.setBounds(30, 240, 150, 30);
        add(suchenEingabe);
               
        nummernEingabe = new JTextField();
        nummernEingabe.setBounds(160, 240, 60, 30);
        nummernEingabe.setFont(schriftart2);
        addWindowListener(new WindowAdapter() {
            public void windowOpened(WindowEvent e){
                nummernEingabe.requestFocus();
            }
        }); 
        add(nummernEingabe);
                     
        suchen = new JButton("suchen");
        suchen.setBounds(415, 240, 100, 30);
        suchen.addActionListener(new SuchenListener ());
        add(suchen);
               
        beenden = new JButton("Beenden");
        beenden.setBounds(400, 400, 100, 30);
        beenden.addActionListener(new BeendenListener (this));
        add(beenden);
       
        zurück = new JButton("Zurück");
        zurück.setBounds(50, 400, 100, 30);
        zurück.addActionListener(new ZurückListener (this));
        add(zurück);
    }

      public class SuchenListener implements ActionListener {
       
          JFrame anzeigeLiedFenster;
        JFrame hinweisNummerFenster;
       
            public void actionPerformed(ActionEvent ne) {
               
                int min = 1;
                int max = 462;         
                int eingabe = 0;
                try {
                   
                    eingabe = Integer.parseInt(nummernEingabe.getText());
                     
                    }
                    catch (Exception e) {
                    }
                    if ((eingabe >= min) && (eingabe <= max)) {
                       
                        String.valueOf(eingabe);
                       
                        Path folder = Paths.get("D:/Markus/Markus Programmieren/Liederkonkordanz/Lieder/Text/");
                       
                        try (DirectoryStream<Path> files = Files.newDirectoryStream(folder, String.format("%03d", eingabe)+" "+".txt")) {
                           
                            for (Path path : files) {
                           
                                System.out.println("path "+path.toAbsolutePath());
                                System.out.println(files);
                                path.toAbsolutePath().toFile();
                            }
                        } 
                       
                        catch (Exception ex) {
                           
                            System.out.println("Fehler!!!!");
                        }
                       
                        anzeigeLiedFenster = new anzeigeLiedFenster(eingabe);
                        nummernEingabe.setText("");
                        dispose();
                       
                    }
                                       
                    else {
                       
                        hinweisNummerFenster = new hinweisNummerFenster();
                        nummernEingabe.requestFocus();
                        nummernEingabe.setText("");
                    }
     
                }
          }
           
    public class ZurückListener implements ActionListener {
        JFrame WillkommenFenster;
            ZurückListener(JFrame willkommenFenster) {
            }
        public void actionPerformed(ActionEvent e) {
            setVisible(false);
            WillkommenFenster = new willkommenFenster();
            }
        }
       
    public class BeendenListener implements ActionListener {
        JFrame BeendenFenster;
            BeendenListener(JFrame beendenFenster) {
            }
        public void actionPerformed(ActionEvent e) {
            BeendenFenster = new beendenFenster();
            }
        }
   }

Klasse (Fenster):anzeigeLiedFenster:
Code:
package Konkordanz;

import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class anzeigeLiedFenster extends JFrame {

    JLabel liednummer;
    //JTextArea liedText;
    //JButton liedAnhören;
    JButton beenden;
    JButton zurück;   
   
public anzeigeLiedFenster(int eingabe) {
       
        setVisible(true);
        setLocation(400, 150);
        setSize(555, 500);
        setTitle("Anzeige Lied");
        setResizable(false);
        setLayout(null);
       
        liednummer = new JLabel();
        liednummer.setBounds(20, 20, 500, 30);
        Font  schriftart3 = liednummer.getFont().deriveFont(Font.BOLD,20);
        liednummer.setFont(schriftart3);
          liednummer.setText("Lied Nummer: " + String.format("%03d", eingabe));
          add(liednummer);
       
        zurück = new JButton("Zurück");
        zurück.setBounds(50, 400, 100, 30);
        zurück.addActionListener(new ZurückListener (this));
        add(zurück);
       
        beenden = new JButton("Beenden");
        beenden.setBounds(400, 400, 100, 30);
        beenden.addActionListener(new BeendenListener (this));
        add(beenden);
               
        }
       
        public class ZurückListener implements ActionListener {
        JFrame weiterNummer;
            ZurückListener(JFrame weiterNummer) {
            }
        public void actionPerformed(ActionEvent e) {
            //setVisible(false);
            weiterNummer = new weiterNummer();
            dispose();
        }
    }
       
    public class BeendenListener implements ActionListener {
        JFrame BeendenFenster;
            BeendenListener(JFrame beendenFenster) {
            }
        public void actionPerformed(ActionEvent e) {
            BeendenFenster = new beendenFenster();
        }
    }
       
}
Das sind jetzt mal nur die 2 wichtigen Fenster um die es zur Zeit geht.
 

Trjavnamen

Bekanntes Mitglied
sorry aber die Nummerierung mit den führenden nullen ist doch eine Rename Geschichte die für das abspielen in der richtigen Reihenfolge der dateien in einem Player wichtig ist. Entweder man lässt das mit der Nummerierung mit führenden Nullen oder man generiert es erst mit String weil ja Nullen vor der zahl normal nicht angezeigt werden oder? Prüfung 1 Char länge addiere 3 Char`0´ dazu Prüfung 2 Char addiere zwei `0´ dazu, usw...
 

DerMarkus

Mitglied
Danke für den Hinweis Trjavnamen, die führende null ist aber schon kein Problem mehr; die realisiere ich hiermit:
Code:
...String.format("%03d", eingabe)...
.
wie jedoch bekomme ich das Programm jetzt dazu diese eingebe mit Dateien in einem Ordner zu vergleichen, und die richtige dann (ohne Pfad und Erweiterung) in einem Label anzuzeigen?

@Harry Kane: Ich denke nicht, das ich mich übernommen habe: denn bisher habe ich den kompletten Überblick was passiert (bis auf aktuelles Problem). Ja sicher, es könnte, mit ordentlich Wissen, sicherlich einiges anders, einfacher, oder sogar besser gemacht und gestaltet werden. Leider steckt mein "ordentliches Wissen" noch in der Eierschale und wartet darauf zu schlüpfen, also muss ich das anwenden was ich bisher gelernt habe, und deswegen fange ich garantiert nicht nochmal von vorne an. Gruß Markus.
 

DerMarkus

Mitglied
bin jetzt mal zum Teilerfolg gekommen;
Code:
      public class SuchenListener implements ActionListener {
      
          JFrame anzeigeLiedFenster;
        JFrame hinweisNummerFenster;
      
            public void actionPerformed(ActionEvent ne) {
              
                int min = 1;
                int max = 462;        
                int eingabe = 0;
                try {
                  
                    eingabe = Integer.parseInt(nummernEingabe.getText());
                    
                    }
                    catch (Exception e) {
                    }
              
                    if ((eingabe >= min) && (eingabe <= max)) {
                      
                        String nummer = String.format("%03d", eingabe);
                        File dir = new File("D:/Markus/Markus Programmieren/Liederkonkordanz/Lieder/Text/");
                        File[] files = dir.listFiles(new FilenameFilter() {        
                             public boolean accept(File dir, String name) {
                                 return name.startsWith(nummer);
                                
                                 }
                             });
                        
                        for(File f : files) {
                                                      
                            System.out.println(f.getName());
                            anzeigeLiedFenster = new anzeigeLiedFenster(f);
                            nummernEingabe.setText("");
                            dispose();
                        }
                    }
                                
                    else {
                      
                        hinweisNummerFenster = new hinweisNummerFenster();
                        nummernEingabe.requestFocus();
                        nummernEingabe.setText("");
                    }
    
                }

          }
in der Console Steht nun der passende Dateiname (leider muß die Endung noch weg)

Code:
public anzeigeLiedFenster(File f) {

      
        setVisible(true);
        setLocation(400, 150);
        setSize(555, 500);
        setTitle("Anzeige Lied");
        setResizable(false);
        setLayout(null);
      
        liednummer = new JLabel();
        liednummer.setBounds(20, 20, 500, 30);
        Font  schriftart3 = liednummer.getFont().deriveFont(Font.BOLD,10);
        liednummer.setFont(schriftart3);
        liednummer.setText("Lied Nummer: " + f);
        add(liednummer);
hier wird leider der komplette Pfad mit geschrieben. geht das auch ohne?

Gruß
 

DerMarkus

Mitglied
Soweit funktioniert das ganze: hab allerdings wieder nen Problem mit dem übertragen; diesmal in eine JTextArea.
hier die CodeAusschnitte:
Code:
if ((eingabe >= min) && (eingabe <= max)) {
                     
                        String nummer = String.format("%03d", eingabe);
                        File dir = new File("D:/Markus/Markus Programmieren/Liederkonkordanz/Lieder/Text/");
                     
                        File[] files = dir.listFiles(new FilenameFilter() {       
                             public boolean accept(File dir, String name) {
                                 return name.startsWith(nummer);
                               
                                 }
                             });
                       
                        for(File f : files) {
                         
                            try {
                                FileReader datei = new FileReader(f);
                                char[] c = new char[1024];
                                int i = 0;
                                try {
                                    while ((i= datei.read(c)) >=0);
                                } catch (IOException e) {
                                    e.printStackTrace();
                                    }
                             
                                System.out.print(c); //hier wird der Inhalt auf der konsole ausgegeben.
                                                             
                            } catch (FileNotFoundException e) {
                                e.printStackTrace();
                            }
                                                       
                            anzeigeLiedFenster = new anzeigeLiedFenster(f, null);
                            nummernEingabe.setText("");
                            dispose();
                           
                        }
                    }
Der Dateiinhalt wird so schon mal auf der Konsole ausgegeben. Ich möchte diesen Inhalt allerdings wieder hier ausgeben:
Code:
public anzeigeLiedFenster(File f, String c) { //String c scheint nicht zu funktionieren!?!

      
        setVisible(true);
        setLocation(400, 150);
        setSize(555, 500);
        setTitle("Anzeige Lied");
        setResizable(false);
        setLayout(null);
      
        liednummer = new JLabel();
        liednummer.setBounds(20, 20, 500, 30);
        Font  schriftart3 = liednummer.getFont().deriveFont(Font.BOLD,20);
        liednummer.setFont(schriftart3);
        liednummer.setText(f.getName().substring(0,f.getName().lastIndexOf(".t")));
          add(liednummer);
        
          liedText = new JTextArea();
          liedText.setBounds(20, 60, 500, 500);
          Font  schriftart4 = liednummer.getFont().deriveFont(Font.BOLD,15);
        liedText.setFont(schriftart4);
        liedText.setText(c); //Hier sollte der Inhalt stehen!!!
          add(liedText);

was habe ich denn da schon wieder übersehen?
Und wie bekomme ich den Code hier im Forum farblich hin?
 

Harry Kane

Top Contributor
"Funktioniert nicht" ist keine Fehlerbeschreibung, auch nicht, wenn es als KOmmentar im Code steht.
Und wie bekomme ich den Code hier im Forum farblich hin?
[ c o d e = J a v a]
[/ c o d e]
(ohne Leerzeichen) ergibt so was wie das hier:
Java:
public anzeigeLiedFenster(File f, String c) { //String c scheint nicht zu funktionieren!?!
       setVisible(true);
}
 

DerMarkus

Mitglied
Ich kann diesmal keine Fehlermeldung sagen denn es gibt keine. Wie bereits kommentiert, wird in der Console der Text (Inhalt der Textdatei) geschrieben. Leider bekomme ich es nicht hin "c" in die TextArea (im nächsten Fenster) zu bekommen; Die TextArea bleibt halt leer.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Erste Schritte Wert aus JTextField zurückgeben Java Basics - Anfänger-Themen 6
D Durch Button klick wert in JTextField einfügen Java Basics - Anfänger-Themen 5
B Variablen Wert zuweisen aus jTextField Java Basics - Anfänger-Themen 9
J jTextfield soll Wert liefern Java Basics - Anfänger-Themen 3
richis-fragen JTable den angezeigten WERT nicht den Wert aus dem Model ausgeben. Java Basics - Anfänger-Themen 3
A Negativ-Wert Java Basics - Anfänger-Themen 4
R finaler Wert in outerMethod von method in InnerMethodClass Java Basics - Anfänger-Themen 2
FunkyPhil94 Wert in einer Lambda Funktion erhöhen Java Basics - Anfänger-Themen 3
T Datum als Variable wert Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
Ostkreuz Wert von Arrays summieren Java Basics - Anfänger-Themen 1
J Array Mittleren Wert bestimmen Java Basics - Anfänger-Themen 2
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
K Java gleicher Wert von Zahlen? Java Basics - Anfänger-Themen 5
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
M Spezifischen Wert einer Zeile aus .txt Datei entnehmen Java Basics - Anfänger-Themen 15
M Dialogbox solange abfragen, bis gültige Wert-Eingabe Java Basics - Anfänger-Themen 12
S Runden auf den niedrigsten Wert Java Basics - Anfänger-Themen 10
volcanos enum und switch (neu): falschen Wert mit IllegalArgumentException oder mit EnumConstantNotPresentException abfangen ? Java Basics - Anfänger-Themen 51
F Wie kann ich eine Funktion schreiben, die nur in bestimmten Fällen einen Wert zurückgibt? Java Basics - Anfänger-Themen 5
T Mit jedem Wert in der for-Schleife weiter arbeiten Java Basics - Anfänger-Themen 3
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 5
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 4
java-starter Erste Schritte Eingabe in Char wert umwandeln Java Basics - Anfänger-Themen 7
ravenz Schleife mit for über String Array „zahlen“und prüfen ob Wert „a“ oder „b“ oder „c“ entspricht (mittels || ) Java Basics - Anfänger-Themen 4
sserio TXT-Datei Auslesen und den Wert jedes Namen ausrechnen etc. Java Basics - Anfänger-Themen 37
M Warum return die Methode den Wert nicht Java Basics - Anfänger-Themen 5
I Historisierung - Alter Wert, Neuer Wert... wie speichern? Java Basics - Anfänger-Themen 44
J Wert in Dropdown Menü kursiv schrieben Java Basics - Anfänger-Themen 19
H Uhrzeitespanne in Integer Wert umrechnen Java Basics - Anfänger-Themen 1
H Java verkettete Liste, Wert eines Index zurückgeben Java Basics - Anfänger-Themen 1
M Wie kann eine Methode für ein vorhandenes "Array von char" einen Index-Wert zurückliefern? Java Basics - Anfänger-Themen 3
M Wie kann die Implementation einer Methode den Wert eines Attributs vermindern? Java Basics - Anfänger-Themen 3
M Wie kann ich festlegen, dass ein Attribut maximal den Wert 0 erreicht, also nicht in den negativen Bereich fällt? Java Basics - Anfänger-Themen 4
M Methoden Wert einer Variable geht verloren? Java Basics - Anfänger-Themen 6
U Ascii wert verschieben, wie möglich? Java Basics - Anfänger-Themen 3
B Array nach Wert prüfen rekursiv Java Basics - Anfänger-Themen 5
B in einem Array den nächstgelegenen Wert zu einem eingabewert finden Java Basics - Anfänger-Themen 8
D Einen boolischen Wert aus einer Methode in einer anderen Klasse aufrufen? Java Basics - Anfänger-Themen 11
T Algorithmus für Index mit min-Wert Java Basics - Anfänger-Themen 2
J Wert zurückgeben über get Methode Java Basics - Anfänger-Themen 8
E Slider - Wert übergeben und überschreiben Java Basics - Anfänger-Themen 5
G Input/Output getText() gibt keinen Wert! Java Basics - Anfänger-Themen 13
NaZuRe Geld(Wert) von der public static void main in die public static void Blackjack Java Basics - Anfänger-Themen 2
I Validation, ob String ein Wert aus einem Enum enthält Java Basics - Anfänger-Themen 3
J Wert in einer json Datei ändern und speichern Java Basics - Anfänger-Themen 3
S Aus verschachtelter ArrayList auf einen Wert zugreifen Java Basics - Anfänger-Themen 4
H Den Wert einer rekursiven Funktion bestimmen Java Basics - Anfänger-Themen 5
T Feststellen, dass Wert zu groß; Caesar Chiffre Java Basics - Anfänger-Themen 3
J maximaler Wert eines Integers Java Basics - Anfänger-Themen 14
I Format Problem mit Wert - bekomme 0,10 anstatt 10,00 Java Basics - Anfänger-Themen 6
H Methode über String Wert aufrufen Java Basics - Anfänger-Themen 8
G Rekursive Methode liefert augenscheinlich keinen boolean-Wert zurück. Java Basics - Anfänger-Themen 4
Lena_2611 Vergleich von Array1 Index mit Array2 Wert und erzeugen eines neues Arrays Java Basics - Anfänger-Themen 8
NeoLexx Abfrage mit instanceof führt zu unerwarteten Wert Java Basics - Anfänger-Themen 9
B Map<String, FilterMeta, wie Wert bekommen? Java Basics - Anfänger-Themen 4
ms_cikar Den Wert einer Hex. value bestimmten. Java Basics - Anfänger-Themen 8
J Eine Position im String durch einen Integer - Wert teilen Java Basics - Anfänger-Themen 5
S Integer Wert wird nicht übernommen Java Basics - Anfänger-Themen 2
V Boolean Wert nicht richtig erkannt Java Basics - Anfänger-Themen 4
H Datentypen Was für eine Format verbirgt sich hinter dem Integer-Wert 053? Java Basics - Anfänger-Themen 2
1 Array nimmt falschen Wert auf! Java Basics - Anfänger-Themen 2
S Erste Schritte Button einen Wert zuweisen & diesen ausgeben Java Basics - Anfänger-Themen 2
H Größte Duplikat (Größte Doppelte Wert) eines Arrays ausgeben Java Basics - Anfänger-Themen 9
V_Fynn03 Erste Schritte Einen Wert in ein TextField einfügen aus einer anderen Klasse Java Basics - Anfänger-Themen 3
J Wert zwischen JFrames übergeben Java Basics - Anfänger-Themen 2
J Umwandlung String zu ASCII-Wert und anders Java Basics - Anfänger-Themen 17
P Verzweigungen Wert zurück geben Java Basics - Anfänger-Themen 2
D Wert des Arrays unter Bedingungen ändern Java Basics - Anfänger-Themen 1
M Double Wert nach n abschneiden ohne zu runden Java Basics - Anfänger-Themen 1
F Boolean Methode Wert ausgeben. Java Basics - Anfänger-Themen 2
X Erste Schritte boolean wert ändert sich nicht? Java Basics - Anfänger-Themen 6
T Klassen Den Wert aus Array lesen lassen Java Basics - Anfänger-Themen 12
W Problem mit dem Wert von boolean-Variable Java Basics - Anfänger-Themen 3
J Wie kann ich z.B. einem int-Wert einen String-Wert zuweisen? Java Basics - Anfänger-Themen 2
H Einfache Frage zur Punktnotation objektname.methode(wert) Java Basics - Anfänger-Themen 2
D integer negativen Wert abspeichern Java Basics - Anfänger-Themen 3
L Wert einer Webeseiteauslesen Java Basics - Anfänger-Themen 6
D Erste Schritte Wert im Array suchen Java Basics - Anfänger-Themen 12
O Primzahl rekursiv mit einem Wert ohne i, wie? Java Basics - Anfänger-Themen 6
S Wert innerhalb eines anderen Wertes Java Basics - Anfänger-Themen 3
S Array doppelter Wert prüfen Java Basics - Anfänger-Themen 7
O Wert in einer Schleife unterschiedlich erhöhen Java Basics - Anfänger-Themen 2
B ArrayList besitzt einen Wert zu wenig Java Basics - Anfänger-Themen 16
D Compiler-Fehler Wert auf Datenbank übertragen und Sleep Thread Java Basics - Anfänger-Themen 3
F Java int-Wert wird resetet Java Basics - Anfänger-Themen 21
CptK Bestimmten Integer Wert aus Array filtern Java Basics - Anfänger-Themen 2
B Liste von Integer -> Nächster Wert bekommen Java Basics - Anfänger-Themen 5
J Wert bei Objekterzeugung verändern Java Basics - Anfänger-Themen 12
I bestimmten Wert eines Arrays Java Basics - Anfänger-Themen 23
D Erste Schritte Java speichert wert des Scanners nicht Java Basics - Anfänger-Themen 2
B Erste Schritte if Anweisung mit Wert Übernahme Java Basics - Anfänger-Themen 3
B .txt. Datei auslesen und bestimmten Wert wiedergeben Java Basics - Anfänger-Themen 5
CptK x wert eines Bildes auslesen Java Basics - Anfänger-Themen 1
S boolean Wert von mehreren int Möglichkeiten abfragen ? Java Basics - Anfänger-Themen 4
deatzi Wert aus anderer Klasse lesen Java Basics - Anfänger-Themen 7
D Compiler-Fehler Array an Methode übergeben und Wert zurückbekommen Java Basics - Anfänger-Themen 3
I Schleife fragt Wert ab bis 0 kommt (mit IO.java klasse) Java Basics - Anfänger-Themen 16
O String: Befehl und Wert erkennen. Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben