Falsche Umsetzung von MVC, brauche Hilfe

Status
Nicht offen für weitere Antworten.

lordpatman

Mitglied
Ich hatte mir einen kleinen texteditor, jedoch ohne berücksichtigung von mvc geschrieben. ich wollte dies nun nachträglich einbauen, da ich das theoretische prinzip nun verstanden habe. jedoch weiß ich nicht genau, wie ich es praktisch umsetzen soll. bei meinem texteditor habe ich den text nun mal als model genommen. jedoch funtkioniert das ganze nicht. vieleicht kann mir einer mal meinen fehler zeigen und lösungsvorschläge geben. danke

sourcecode:

model:

Code:
package jpad.model;

public class Text
{
  private String text = "";
  
  /**
   * @return Returns the text.
   */ 
  public String getText()
  {
    return text;
  }
  
  /**
   * @param text The text to set.
   */ 
  public void setText(String text)
  {
    this.text = text;
  }
}

view:

Code:
package jpad.view;

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;

import javax.swing.*;

import jpad.controll.*;
import jpad.model.*;

public class MainFrame extends JFrame implements Observer
{
  private Action newAct;
  private Action openAct;
  private Action saveAct;
  private Action saveAsAct;
  private Action quitAct;
  private Action cutAct;
  private Action copyAct;
  private Action pasteAct;
  private Action selectAllAct;
  private Action aboutAct;
  private Controller controller;
  private File file;
  private JLabel statusLabel;
  private JMenu fileMenu;
  private JMenu editMenu;
  private JMenu helpMenu;
  private JMenuBar menuBar;
  private JScrollPane scrollPane;
  private JTextArea textArea;
  
  public MainFrame(Controller controller)
  {
    setTitle("Unbenannt - jPad-Lite");
    setSize(460, 360);
    setIconImage(new ImageIcon(getClass().getResource("images/txt.png")).getImage()); 
    setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    getContentPane().setLayout(new BorderLayout());
    addWindowListener(new WindowAdapter()
    {
      public void windowClosing(WindowEvent e)
      {
        quit();
      }
    });
  
    createActions();
    setJMenuBar(createMenuBar());
    
    textArea = new JTextArea();
    //textArea.setLineWrap(true);
    scrollPane = new JScrollPane(textArea);
    scrollPane.setRowHeaderView(new LineNumber(textArea)); 
    
    statusLabel = new JLabel();
    statusLabel.setText("Bereit");

    getContentPane().add(createToolBar(), BorderLayout.NORTH);
    getContentPane().add(scrollPane, BorderLayout.CENTER);
    getContentPane().add(statusLabel, BorderLayout.SOUTH);
    
    this.controller = controller;
    file = null;
    
    setVisible(true);
  }
  
  private void createActions()
  {
    newAct = new AbstractAction("Neu", new ImageIcon(getClass().getResource("images/new.png"))) 
    {
      public void actionPerformed(ActionEvent e)
      {
         newFile();
      }
    };
    newAct.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_N));
    newAct.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_MASK));
    newAct.putValue(Action.SHORT_DESCRIPTION, "Neu");
    
    openAct = new AbstractAction("Öffnen", new ImageIcon(getClass().getResource("images/open.png"))) 
    {
      public void actionPerformed(ActionEvent e)
      {
         open();
      }
    };
    openAct.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_F));
    openAct.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.CTRL_MASK));
    openAct.putValue(Action.SHORT_DESCRIPTION, "Öffnen");
    
    saveAct = new AbstractAction("Speichern", new ImageIcon(getClass().getResource("images/save.png"))) 
    {
      public void actionPerformed(ActionEvent e)
      {
         save();
      }
    };
    saveAct.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_P));
    saveAct.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK));
    saveAct.putValue(Action.SHORT_DESCRIPTION, "Speichern");
    
    saveAsAct = new AbstractAction("Speichern unter ...", new ImageIcon(getClass().getResource("images/saveas.png"))) 
    {
      public void actionPerformed(ActionEvent e)
      {
         saveAs();
      }
    };
    saveAsAct.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_U));
    saveAsAct.putValue(Action.SHORT_DESCRIPTION, "Speichern unter");
    
    quitAct = new AbstractAction("Beenden", new ImageIcon(getClass().getResource("images/exit.png"))) 
    {
      public void actionPerformed(ActionEvent e)
      {
         quit();
      }
    };
    quitAct.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_E));
    quitAct.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_Q, InputEvent.CTRL_MASK));
    quitAct.putValue(Action.SHORT_DESCRIPTION, "Beenden");
    
    cutAct = new AbstractAction("Ausschneiden", new ImageIcon(getClass().getResource("images/cut.png"))) 
    {
      public void actionPerformed(ActionEvent e)
      {
         textArea.cut();
      }
    };
    cutAct.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_A));
    cutAct.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK));
    cutAct.putValue(Action.SHORT_DESCRIPTION, "Ausschneiden");
    
    copyAct = new AbstractAction("Kopieren", new ImageIcon(getClass().getResource("images/copy.png"))) 
    {
      public void actionPerformed(ActionEvent e)
      {
         textArea.copy();
      }
    };
    copyAct.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_K));
    copyAct.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK));
    copyAct.putValue(Action.SHORT_DESCRIPTION, "Kopieren");
    
    pasteAct = new AbstractAction("Einfügen", new ImageIcon(getClass().getResource("images/paste.png"))) 
    {
      public void actionPerformed(ActionEvent e)
      {
         textArea.paste();
      }
    };
    pasteAct.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_F));
    pasteAct.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK));
    pasteAct.putValue(Action.SHORT_DESCRIPTION, "Einfügen");
    
    selectAllAct = new AbstractAction("Alles auswählen") 
    {
      public void actionPerformed(ActionEvent e)
      {
         textArea.selectAll();
      }
    };
    selectAllAct.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_L));
    selectAllAct.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_A, InputEvent.CTRL_MASK));
    selectAllAct.putValue(Action.SHORT_DESCRIPTION, "Alles auswählen");
    
    aboutAct = new AbstractAction("Über", new ImageIcon(getClass().getResource("images/about.png"))) 
    {
      public void actionPerformed(ActionEvent e)
      {
         about();
      }
    };
    aboutAct.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_B));
    aboutAct.putValue(Action.SHORT_DESCRIPTION, "Über");
  }
  
  private JMenuBar createMenuBar()
  {
    menuBar = new JMenuBar();
    
    // file-menu
    fileMenu = new JMenu("Datei");
    fileMenu.setMnemonic(KeyEvent.VK_D);
    fileMenu.add(new JMenuItem(newAct));
    fileMenu.addSeparator();
    fileMenu.add(new JMenuItem(openAct));
    fileMenu.addSeparator();
    fileMenu.add(new JMenuItem(saveAct));
    fileMenu.add(new JMenuItem(saveAsAct));
    fileMenu.addSeparator();
    fileMenu.add(new JMenuItem(quitAct));
    
    menuBar.add(fileMenu);
    
    // edit-menu
    editMenu = new JMenu("Bearbeiten");
    editMenu.setMnemonic(KeyEvent.VK_B);
    editMenu.add(new JMenuItem(cutAct));
    editMenu.add(new JMenuItem(copyAct));
    editMenu.add(new JMenuItem(pasteAct));
    editMenu.addSeparator();
    editMenu.add(new JMenuItem(selectAllAct));
    
    menuBar.add(editMenu);
    
    // help-menu
    helpMenu = new JMenu("Hilfe");
    helpMenu.setMnemonic(KeyEvent.VK_H);
    helpMenu.add(new JMenuItem(aboutAct));
    
    menuBar.add(helpMenu);
    
    return menuBar;
  }
  
  private JToolBar createToolBar()
  {
    JToolBar toolBar = new JToolBar("Tool bar");
    
    JButton newButton = new JButton();
    newButton.setAction(newAct);
    newButton.setText("");
    toolBar.add(newButton);
    
    JButton openButton = new JButton();
    openButton.setAction(openAct);
    openButton.setText("");
    toolBar.add(openButton);
    
    toolBar.addSeparator();
    
    JButton saveButton = new JButton();
    saveButton.setAction(saveAct);
    saveButton.setText("");
    toolBar.add(saveButton);
    
    JButton saveAsButton = new JButton();
    saveAsButton.setAction(saveAsAct);
    saveAsButton.setText("");
    toolBar.add(saveAsButton);
    
    toolBar.addSeparator();
    
    JButton cutButton = new JButton();
    cutButton.setAction(cutAct);
    cutButton.setText("");
    toolBar.add(cutButton);
    
    JButton copyButton = new JButton();
    copyButton.setAction(copyAct);
    copyButton.setText("");
    toolBar.add(copyButton);
    
    JButton pasteButton = new JButton();
    pasteButton.setAction(pasteAct);
    pasteButton.setText("");
    toolBar.add(pasteButton);
    
    return toolBar;
  }
  
  private void newFile()
  {
    file = null;
    controller.newFile();
    statusLabel.setText("Bereit");
    setTitle("Unbenannt - jPad-Lite");
  }
   
  private void open()
  {
    JFileChooser fileChooser = new JFileChooser(".");

    // Titel des Dialogs
    fileChooser.setDialogTitle("Öffnen");
    fileChooser.addChoosableFileFilter(new TxtFileFilter()); 
    fileChooser.setMultiSelectionEnabled(false);
      
    // Wenn OK gedrueckt wurde, fuehre aus...
    int ret = fileChooser.showOpenDialog(this);
     
    if(ret == JFileChooser.APPROVE_OPTION) 
    {
      // der OK-Button des FileChooser-Dialogs wurde gedrueckt
      file = fileChooser.getSelectedFile();
       
      controller.loadFile(file);
         
      statusLabel.setText(file.getName() + " erfolgreich geöffnet");
      setTitle(file.getName() + " - jPad-Lite");
    }
    else
    {
      statusLabel.setText("Öffnen abgebrochen");
    }
  }
   
  private void save()
  {
    if(file != null)
    {
      controller.saveFile(file);
        
      statusLabel.setText(file.getName() + " erfolgreich gespeichert");
    }
    else
    {
      saveAs();
    }
  }
   
  private void saveAs()
  {
    JFileChooser fileChooser = new JFileChooser(".");

    // Titel des Dialogs
    fileChooser.setDialogTitle("Speichern unter ...");
    fileChooser.addChoosableFileFilter(new TxtFileFilter()); 
    fileChooser.setMultiSelectionEnabled(false);
       
    // Wenn OK gedrueckt wurde, fuehre aus...
    int ret = fileChooser.showSaveDialog(this);
    
    if(ret == JFileChooser.APPROVE_OPTION) 
    {
      // der OK-Button des FileChooser-Dialogs wurde gedrueckt
      file = fileChooser.getSelectedFile();
       
      controller.saveFile(file);
         
      statusLabel.setText(file.getName() + " erfolgreich gespeichert");
    }
    else
    {
      statusLabel.setText("Speichern abgebrochen");
    }
  }
   
  private void quit()
  {
    if(JOptionPane.showConfirmDialog(this, "Wollen Sie das Programm wirklich beenden?", "Beenden", 
                                     JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE)
                                     == JOptionPane.YES_OPTION)
    {
      setVisible(false);
      dispose();
      System.exit(0);
    }
  }
   
  private void about()
  {
    JOptionPane.showMessageDialog(this, "jPad-Lite 0.1");
  }
   
  public void update(Observable arg0, Object arg1)
  {
    Text text = (Text)arg1;
    textArea.setText(text.getText());
  }
}

+ TxtFileFilter.java + LineNumber.java

controller:

Code:
package jpad.controll;

import java.io.*;
import java.util.Observable; 

import javax.swing.UIManager;

import jpad.model.*;
import jpad.view.*;

public class Controller extends Observable
{
  private Text text;
  
  public Controller()
  {
    MainFrame frame = new MainFrame(this);
    addObserver(frame);
    text = new Text(); 
  }
  
  public void newFile()
  {
    text.setText("");
    
    setChanged();
    notifyObservers(text); 
  }
  
  public void loadFile(File file)
  {
    try 
    {
      BufferedReader reader = new BufferedReader(new FileReader(file));
      String line = "";
      String string = "";
      
      while((line = reader.readLine()) != null) 
      {
        string.concat(line + System.getProperty("line.separator"));
      }
      
      reader.close();
      
      string = string.substring(0, string.lastIndexOf(System.getProperty("line.separator")));
      
      text.setText(string);
      
      setChanged();
      notifyObservers(text); 
    }
    catch(IOException e)
    {
      e.printStackTrace();
    } 
  }
  
  public void saveFile(File file)
  {
    try 
    {
      BufferedWriter writer = new BufferedWriter(new FileWriter(file));
      String string = text.getText();
      
      writer.write(string);
      writer.close();
      
      text.setText(string);
      
      setChanged();
      notifyObservers(text); 
    }
    catch(IOException e)
    {
      e.printStackTrace();
    } 
  }
  
  public static void main(String[] args)
  {
    try
    {
      UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }
    
    new Controller();
  }
}
 

lordpatman

Mitglied
kann mir keiner helfen? also ich konnte den fehler schonmal ein bisschen einkreisen. er müsste bei den beiden controller methoden newfile und openfile liegen, da das öffnen und speichern einer datei nicht mehr funktioniert. außerdem bin ich bei der update methode am ende des mainframes nicht so sicher.
 
B

Beni

Gast
5 Kilometer Code und eine Fehlermeldung im Stiele von "habe keine Informationen für euch" sind nunmal nicht sehr motivierend... eine bessere Beschreibung des Problems könnte hilfreich sein.

Dein MVC ist noch irgendwie komisch: die "Text"-Klasse ist nichts weiter als ein String -> sie hat keine Bedeutung. Dafür verhält sich dein "Controller" wie ein Model: er lässt sich beobachten.
Eigentlich sollte die Text-Klasse von "Observable" erben, und der Controller mehr im Hintergrund sein.
 
M

mörketid1

Gast
hi, dann solltest du die ganzen aktionen aus MainFrame raus nehmen. also ich nehm als controller immer actions, die dann eben eine entsprechende sache ausführen. als view eben die verschiedenen gr. komponenten und das model ist dann sozusagen der rest :).

man kann auch noch eine fassade einbauen, wenn man aus einem controller auf das model zugreifen will.

viele grüße
 

lordpatman

Mitglied
also ich hatte versucht das beispiel aus den faqs umzusetzten http://www.java-forum.org/de/viewtopic.php?t=6090#52829. zum fehler kann ich leider auch nicht mehr sagen, als das es irgend etwas mit dem öffnen und speichern einer datei zu tun hat. wie gesagt, ich habe das prinzip von mvc nur theoretisch verstanden, aber praktisch leider noch nicht so. ich glaube auch ein texteditor ist als beispiel für mvc schlecht geeignet, oder? ich habe schon nach sourcecode beispiele für mvc gesucht, aber leider keine allzu guten gefunden.
 
B

Beni

Gast
Ein Texteditor wäre schon ein gutes Beispiel, nur macht Swing in diesem Fall schon soviel, dass eine weitere Aufteilung fast sinnlos ist (es sei denn, du machst noch was mit Farben, rekursiver Schrift, mehreren Dokumenten zur gleicher Zeit ... das dumme an MVC ist, dass kleine Beispiele eigentlich immer sinnfrei sind - erst bei mittleren & grossen Applikationen bringt MVC einen wirklichen nutzen).

"Reines" MVC findet man selten, aber in Swing sieht man wenigstens schön die Trennung zwischen Model und Controller/View. z.B. das ListModel und die JList, das TreeModel und der JTree, ...
 

lordpatman

Mitglied
ok, ich verstehe, vielen dank für die hilfe. ich habe es jetzt so gemacht, dass ich das model entfernt habe und in der mainframe klasse eine methode getTextArea eingefügt habe und nun mittels dieser methode über den controller auf die textarea zugreife. der controller hat bei mir nun die rolle des ladens und speicherns einer datei und beinhaltet die main methode, wo der mainframe aufgerufen wird.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T User input in Verbindung mit ChronoUnit anpassen und falls falsche Eingabe getätigtwird Java Basics - Anfänger-Themen 7
B Binärzahlen auflisten, falsche Ausgabe? Java Basics - Anfänger-Themen 1
Z Java ArrayList speichert falsche Daten ab bzw. gibt falsche Daten aus? Java Basics - Anfänger-Themen 42
volcanos HashSet und Iterator -> Falsche Sortierreihenfolge ? Java Basics - Anfänger-Themen 18
O Falsche Antworten zu Fragen Java Basics - Anfänger-Themen 4
B Compiler-Fehler Fehlermeldung Exception in thread, falsche Eingabewert Java Basics - Anfänger-Themen 2
D falsche eingabe erkennen Java Basics - Anfänger-Themen 2
F Wieso wird immer die falsche Mausposition angegeben? Java Basics - Anfänger-Themen 1
JaVaN0oB Wörterraten - Falsche Ausgabe, String/Chars vergleichen Java Basics - Anfänger-Themen 2
H Falsche Ausgabe Java Basics - Anfänger-Themen 2
K falsche Eingabe abfangen Java Basics - Anfänger-Themen 8
L Falsche Methode wird geladen Java Basics - Anfänger-Themen 2
T JLabel hat falsche größe Java Basics - Anfänger-Themen 1
H Swing Button hat falsche Größe Java Basics - Anfänger-Themen 5
T Input/Output Falsche Eingabe ausgeben Java Basics - Anfänger-Themen 3
R StringBounds falsche Ergebnisse Java Basics - Anfänger-Themen 5
D Falsche Zeile wird in JTable gelöscht Java Basics - Anfänger-Themen 6
W Array in String und String in Array - falsche Ausgaben Java Basics - Anfänger-Themen 20
T Falsche Ausgabe ???? Java Basics - Anfänger-Themen 13
S Falsche Ausgabe Java Basics - Anfänger-Themen 6
M Input/Output ISBN Leser - falsche Eingabe ausgeben Java Basics - Anfänger-Themen 2
V Personenverwaltung mit List<>, falsche Ausgaben Java Basics - Anfänger-Themen 5
R Methoden Switch wählt das Falsche Java Basics - Anfänger-Themen 17
K Falsche Methode Java Basics - Anfänger-Themen 3
J Falsche Darstellung von Float Java Basics - Anfänger-Themen 2
M Falsche Eingabe wiederholen lassen Java Basics - Anfänger-Themen 2
W Methoden Falsche Felder von Methode belgegt Java Basics - Anfänger-Themen 14
M falsche implementierung von currentTimeMillis() ? Java Basics - Anfänger-Themen 14
F charAt-Methode liefert falsche Unicode-Werte Java Basics - Anfänger-Themen 8
P Falsche Werte bei Zeitmessungen Java Basics - Anfänger-Themen 7
Helgon Falsche Zeichen im Text Java Basics - Anfänger-Themen 10
S Parameterübergabe - identische Funktionen, aber falsche Funktion Java Basics - Anfänger-Themen 5
G Bubblesort - Falsche Sortierung Java Basics - Anfänger-Themen 6
D Kriege falsche MD5 Java Basics - Anfänger-Themen 12
R run ->eclipse ruft falsche Programme auf Java Basics - Anfänger-Themen 5
D p q formel gibt zum Teil falsche Werte aus Java Basics - Anfänger-Themen 5
S Falsche Version? Java Basics - Anfänger-Themen 2
C Falsche Zeit Java Basics - Anfänger-Themen 2
V Falsche Augabe Java Basics - Anfänger-Themen 16
C Klammern einlesen!!! Falsche Ausgabe!!!! Java Basics - Anfänger-Themen 4
S Falsche Reihenfolge von Methodenaufrufen Java Basics - Anfänger-Themen 8
H Falsche Eingabe über try-catch abfangen Java Basics - Anfänger-Themen 2
K Verschiebeoperatoren - manchmal falsche Ergebnisse Java Basics - Anfänger-Themen 7
L Datenbankanbindung ODBC falsche pfadangabe? Java Basics - Anfänger-Themen 3
O Falsche Bed. (ein überlauf) seh den Fehler aber nicht. Java Basics - Anfänger-Themen 3
G static array liefert falsche Werte zurück Java Basics - Anfänger-Themen 2
S Falsche Ausgabe Java Basics - Anfänger-Themen 3
L Wegen TableSorter wird falsche Zeile einer Tabelle gelöscht? Java Basics - Anfänger-Themen 2
G falsche Version Java Basics - Anfänger-Themen 3
D Tabelle -> Daten eingeben -> Falsche erhalten Java Basics - Anfänger-Themen 9
S Falsche Ausgabe? Java Basics - Anfänger-Themen 2
F Falsche Daten aus Datei Java Basics - Anfänger-Themen 2
G Falsche Java befehle, doch was ist falsch? Java Basics - Anfänger-Themen 9
C falsche Eingabe abfangen Java Basics - Anfänger-Themen 8
M Falsche do-Schleife? Java Basics - Anfänger-Themen 4
E falsche Ausgabe Java Basics - Anfänger-Themen 7
D Falsche Datumsausgabe? Java Basics - Anfänger-Themen 5
J erhalte falsche Kalenderwoche - wo ist der Fehler? Java Basics - Anfänger-Themen 2
R Umsetzung von Formel Java Basics - Anfänger-Themen 2
D Budget Manager fragen zur Umsetzung Java Basics - Anfänger-Themen 9
E Umsetzung von Mehrfachvererbung in Java Java Basics - Anfänger-Themen 8
D [Concurrency/Threads] Code Umsetzung Schriftlich Java Basics - Anfänger-Themen 2
C Hilfe bei der Umsetzung Java Basics - Anfänger-Themen 1
R Tipps zur umsetzung eines Musters mit for-schleife Java Basics - Anfänger-Themen 1
kaoZ Input/Output Umsetzung einer Klasse Java Basics - Anfänger-Themen 8
U Serialisierung Probleme bei Umsetzung Java Basics - Anfänger-Themen 26
Z Switch umsetzung Java Basics - Anfänger-Themen 6
C OOP Umsetzung des MVC Java Basics - Anfänger-Themen 3
A Grafische Umsetzung von Aktienkursen Java Basics - Anfänger-Themen 2
eXistenZ Java-Boon kommt nicht zurrecht mit der Umsetzung einer Aufgabe... Java Basics - Anfänger-Themen 7
M JavaSpiel ohne grafische Umsetzung Java Basics - Anfänger-Themen 3
sliwalker Ratschläge zur Umsetzung einer Lizenzsierung Java Basics - Anfänger-Themen 10
S Umsetzung von verschiedenen Anweisungen Java Basics - Anfänger-Themen 8
A Grafik2d Objekte drehen, Idee da, Problem in Umsetzung Java Basics - Anfänger-Themen 3
P Lagerverwaltung umsetzung Java Basics - Anfänger-Themen 10
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5
_so_far_away_ Inventarisierungssystem brauche switch Cases und weiß nicht, wie ich e implementieren muss Java Basics - Anfänger-Themen 5
berserkerdq2 Brauche ich while != -1, wenn ich immer einen BufferedReader verwende? Java Basics - Anfänger-Themen 8
KyZarr Was brauche ich alles? Java Basics - Anfänger-Themen 2
B Brauche Hilfe zu einem Code Java Basics - Anfänger-Themen 5
J Brauche Hilfe bei for-each Aufgabe Java Basics - Anfänger-Themen 1
HeiTim Brauche Hilfe soll ein nummeriertes Feld ausgeben lassen Java Basics - Anfänger-Themen 17
J Brauche Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
H Brauche Hilfe Java Basics - Anfänger-Themen 2
H Brauche hilfe Java Basics - Anfänger-Themen 3
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
C Brauche Hilfe um ein Programm zu schreiben Java Basics - Anfänger-Themen 8
Leo0909 Ich brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 2
MichelNeedhelp Brauche zu diesem Labyrinth ein Skript? Der Hamster soll im Urzeigersinn das ganze Labyrinth abgehen und wieder an seinem Ursprungsplatz sein. Java Basics - Anfänger-Themen 40
H Brauche Hilfe in Java Eclipse Programmieraufgabe Neuling Java Basics - Anfänger-Themen 3
D Brauche Dringend Hilfe...Prozedur/Funktionsprozedur Ergebnis augeben Java Basics - Anfänger-Themen 11
I Brauche Hilfe bei Objektorientiertem programmieren Java Basics - Anfänger-Themen 23
M Brauche Hilfe bei If-Scheifen Java Basics - Anfänger-Themen 2
F ich brauche Hilfe bei Listen Java Basics - Anfänger-Themen 13
J Ich brauche Hilfe bei einem Code (Variablen speichern) Java Basics - Anfänger-Themen 29
E Ich Brauche Hilfe Java Basics - Anfänger-Themen 3
L Brauche Hilfe beim arbeiten mit Konstruktoren Java Basics - Anfänger-Themen 20
J Brauche Hilfe bei einer aufgabe Java Basics - Anfänger-Themen 1
S Brauche hilfe in Java [Fehler in mein Code]? Java Basics - Anfänger-Themen 2
B BITTE!! Ich brauche dringende Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 17

Ähnliche Java Themen

Neue Themen


Oben