Verbindung View und Controller

Status
Nicht offen für weitere Antworten.

Plontschi

Neues Mitglied
Hallo
Ich habe folgendes Problem:
Ich muss 2 Fenster erstellen. 1. Fenster ist der Dialog, in dem der Benutzer einige Einstellungen vornehmen kann. Im 2. Fenster wird dann das Labyrinth gezeichnet mit den Einstellungen. Das Ganze habe ich aufgeteilt. Für den Dialog eine Klasse View und eine für den Controller mit den ganzen Listenern. Das selbe habe ich beim Labyrinth gemacht. Für die Aufteilung müssen die Views beim Controller registriert werden. Für den Dialog funktioniert das auch. Aber im Controller vom Dialog soll er nachdem der Startbutton gerückt wurde ein neues Objekt vom Labyrinth anlegen. Ich übergebe dabei auch gleich einige Parameter an den Konstruktor im Labyrinth. Dies geht aber nicht da ich ja auch für die registrierung aus der Klasse Start etwas an den Konstruktoer übergeben muss. Ich weiß jetzt gar nicht wie ich das Problem lösen kann. Da ich irgendwie die ganzen Parameter aus dem Dialog View auch im Labyrinth brauche. Ich gebe euch noch den Code:

Code:
public class start {

  public static void main(String[] args) {
    //Dialog View und Controller
    DialogController control = new DialogController();
    DialogView dialog = new DialogView(control);
    control.registerModel(dialog);

    //Labyrinth View und Controller
    LabyrinthController controlLab = new LabyrinthController();
    LabyrinthView laby = new LabyrinthView(controlLab);
    controlLab.registerModel(laby);
  }

import java.awt.*;
import java.awt.event.*;

public class DialogView
    extends Frame
     {

  GridBagLayout layoutMgr = new GridBagLayout();

  private TextField textfeld_breite, textfeld_hoehe, textfeld_wand, textfeld_sek;
  private Scrollbar scrollbar_breite, scrollbar_hoehe, scrollbar_wand, scrollbar_sek;
  private Label breiteL, ueberschriftL, hoeheL, wandL, sekundenL, leerL;
  private Button start, abbruch;

  //Min- und MaxWerte für die Eingabewerte
  final int minBreiteLabyrinth = 40;
  final int maxBreiteLabyrinth = 100;
  int StandartwertBreite = 70;

  final int minHoeheLabyrinth = 20;
  final int maxHoeheLabyrinth = 50;
  int StandartwertHoehe = 35;

  final int minWandwahrscheinlichkeitLabyrinth = 0;
  final int maxWandwahrscheinlichkeitLabyrinth = 100;
  int StandartwertWandwahrscheinlichkeit = 50;

  final int minAnimationLabyrinth = 0;
  final int maxAnimationLabyrinth = 200;
  int StandartwertAnimation = 100;

  private void placeItem(Component c, int x, int y, int width, int height,
                         int fill, int anchor, int weightx, int weighty,
                         int ipadx, Insets insets
                         ) {
    // Hilfsmethode zum Platzieren einer Komponente
    GridBagConstraints constraints = new GridBagConstraints();
    constraints.gridx = x;
    constraints.gridy = y;
    constraints.gridwidth = width;
    constraints.gridheight = height;
    constraints.fill = fill;
    constraints.anchor = anchor;
    constraints.weightx = weightx;
    constraints.weighty = weighty;

    constraints.ipadx = ipadx; //Konstanter Wert für minimale breite
    constraints.insets = insets; //Rand der frei gelassen wird - Insets insets,
    //constraints.ipady = ipady; //Konstanter Wert für minimale höhe
    layoutMgr.setConstraints(c, constraints);
    add(c);

  }

  //Konstruktor
  public DialogView(DialogController control) {

    super("Roboter im Labyrinth");//laut Hanno ist setTitle besser weil es immer besser
                                  //aussieht die methoden der eigenen klasse zu benutzen
                                  //anstatt auf die oberklasse zuzugreifen findet er
    setLayout(layoutMgr);
    setBackground(Color.lightGray); //Hintergrundfarbe wird auf Hellgrau gesetzt
    setVisible(true); //Fenster wird erst jetzt angeszeigt

    //Label erstellen
    ueberschriftL = new Label(
        "------------------------------------------------ Robotor im Labyrinth ------------------------------------------------");
    breiteL = new Label("Breite des Labyrinths:");
    hoeheL = new Label("Höhe des Labyrinths:");
    wandL = new Label("Wandwahrscheinlichkeit:");
    sekundenL = new Label("Animationsverzögerung in Millisekunden:");
    leerL = new Label("              ");

    //Button erstellen
    start = new Button("Start");
    abbruch = new Button("Abbruch");

    //Schieberegler erstellen
    scrollbar_breite = new Scrollbar(Scrollbar.HORIZONTAL, StandartwertBreite,
                                     1, minBreiteLabyrinth, maxBreiteLabyrinth + 1);
    scrollbar_hoehe = new Scrollbar(Scrollbar.HORIZONTAL, StandartwertHoehe, 1,
                                    minHoeheLabyrinth, maxHoeheLabyrinth + 1);
    scrollbar_wand = new Scrollbar(Scrollbar.HORIZONTAL,
                                   StandartwertWandwahrscheinlichkeit, 1,
                                   minWandwahrscheinlichkeitLabyrinth,
                                   maxWandwahrscheinlichkeitLabyrinth + 1);
    scrollbar_sek = new Scrollbar(Scrollbar.HORIZONTAL, StandartwertAnimation, 1,
                                  minAnimationLabyrinth, maxAnimationLabyrinth + 1);

      //Textfelder erstellen
      textfeld_breite = new TextField(10);
      textfeld_breite.setText(""+scrollbar_breite.getValue());
      textfeld_hoehe = new TextField(10);
      textfeld_hoehe.setText(""+scrollbar_hoehe.getValue());
      textfeld_wand = new TextField(10);
      textfeld_wand.setText(""+scrollbar_wand.getValue());
      textfeld_sek = new TextField(10);
      textfeld_sek.setText(""+scrollbar_sek.getValue());

      //Plazieren aller Elemente

      //----------------Festlegung der Zeile für die Überschrift---------
      placeItem(ueberschriftL, 0, 0, 4, 1, GridBagConstraints.HORIZONTAL,
                GridBagConstraints.WEST, 0, 0, 0, new Insets(0, 5, 0, 0)
                );

      //---------------------Festlegung der Zeile zur BreiteLabyrinth----------------
      placeItem(breiteL, 1, 1, 1, 1, GridBagConstraints.NONE,
                GridBagConstraints.WEST, 0, 0, 0, new Insets(5, 5, 5, 5));

      placeItem(scrollbar_breite, 2, 1, 1, 1, GridBagConstraints.HORIZONTAL,
                GridBagConstraints.WEST, 1, 0, 100, new Insets(5, 5, 5, 5));

      placeItem(textfeld_breite, 3, 1, 1, 1, GridBagConstraints.NONE,
                GridBagConstraints.EAST, 1, 1, 0, new Insets(5, 5, 5, 5));

      //---------------Festlegung der Zeile zur HöheLabyrinth-----------------------------
      placeItem(hoeheL, 1, 2, 1, 1, GridBagConstraints.NONE,
                GridBagConstraints.WEST, 0, 0, 0, new Insets(5, 5, 5, 5));

      placeItem(scrollbar_hoehe, 2, 2, 1, 1, GridBagConstraints.HORIZONTAL,
                GridBagConstraints.WEST, 1, 0, 100, new Insets(5, 5, 5, 5));

      placeItem(textfeld_hoehe, 3, 2, 1, 1, GridBagConstraints.NONE,
                GridBagConstraints.EAST, 1, 1, 0, new Insets(5, 5, 5, 5));

      //-------------Festlegung der Zeile zur Wandwahrscheinlichkeit-------------------
      placeItem(wandL, 1, 3, 1, 1, GridBagConstraints.NONE,
                GridBagConstraints.WEST, 0, 0, 0, new Insets(5, 5, 5, 5));

      placeItem(scrollbar_wand, 2, 3, 1, 1, GridBagConstraints.HORIZONTAL,
                GridBagConstraints.WEST, 1, 0, 100, new Insets(5, 5, 5, 5));

      placeItem(textfeld_wand, 3, 3, 1, 1, GridBagConstraints.NONE,
                GridBagConstraints.EAST, 1, 1, 0, new Insets(5, 5, 5, 5));

      //------------Festlegung der Zeile zur Animationsverzögerung---------------------
      placeItem(sekundenL, 1, 4, 1, 1, GridBagConstraints.NONE,
                GridBagConstraints.WEST, 0, 0, 0, new Insets(5, 5, 15, 5));

      placeItem(scrollbar_sek, 2, 4, 1, 1, GridBagConstraints.HORIZONTAL,
                GridBagConstraints.WEST, 1, 0, 100, new Insets(5, 5, 15, 5));

      placeItem(textfeld_sek, 3, 4, 1, 1, GridBagConstraints.NONE,
                GridBagConstraints.EAST, 1, 1, 0, new Insets(5, 5, 15, 5));

      //--------------Festlegung der Buttons---------------------------------------------
      placeItem(start, 0, 5, 2, 1, GridBagConstraints.NONE,
                GridBagConstraints.SOUTHWEST, 0, 0, 50, new Insets(0, 5, 5, 0));

      placeItem(abbruch, 3, 5, 2, 1, GridBagConstraints.NONE,
                GridBagConstraints.SOUTHEAST, 0, 0, 40, new Insets(0, 0, 5, 5));

    //Übergabe des Wertes vom Scrollbalken zum Textfeld
    scrollbar_breite.addAdjustmentListener(control);
    scrollbar_hoehe.addAdjustmentListener(control);
    scrollbar_wand.addAdjustmentListener(control);
    scrollbar_sek.addAdjustmentListener(control);

    //Übergabe des Wertes vom Textfeld zum Scrollbalken
    textfeld_breite.addTextListener(control);
    textfeld_hoehe.addTextListener(control);
    textfeld_wand.addTextListener(control);
    textfeld_sek.addTextListener(control);

    //Nur Eingabe von Zahlen möglich
    textfeld_breite.addKeyListener(control);
    textfeld_hoehe.addKeyListener(control);
    textfeld_wand.addKeyListener(control);
    textfeld_sek.addKeyListener(control);

    //Textfelder immer eingegeben werden müssen
    textfeld_breite.addFocusListener(control);
    textfeld_hoehe.addFocusListener(control);
    textfeld_wand.addFocusListener(control);
    textfeld_sek.addFocusListener(control);

    //GridBagLayout
    addWindowListener(control); //Schließt Fenster über das Kreuz

    //Zufügen der Button Start und Beenden zum ActionListener
     start.addActionListener(control);
     abbruch.addActionListener(control);

    pack(); // der Container ist nur so groß wie nötig

  } //Ende Konstruktor

  public Scrollbar getScrollbar_breite () {
     return scrollbar_breite;
   }

   public Scrollbar getScrollbar_hoehe () {
     return scrollbar_hoehe;
   }

   public Scrollbar getScrollbar_wand () {
       return scrollbar_wand;
     }

   public Scrollbar getScrollbar_sek () {
     return scrollbar_sek;
   }

   TextField getTextfeld_breite () {
       return textfeld_breite;
     }

     TextField getTextfeld_hoehe () {
       return textfeld_hoehe;
     }

     TextField getTextfeld_sek () {
       return textfeld_sek;
     }

     TextField getTextfeld_wand () {
       return textfeld_wand;
     }

     Button getStart () {
       return start;
     }

}

import java.awt.*;
import java.awt.event.*;

public class DialogController
    extends WindowAdapter
    implements ActionListener, AdjustmentListener, FocusListener, KeyListener, TextListener {

    private DialogView gui; //View und Modell
    
    //Fenstergröße für das Fenster Labyrinth
    static final int festerBreiteLabyrinth = 1020; //static = existiert nur in dieser Klasse, nicht an ein Objekt gebunden
    static final int fensterHoeheLayrinth = 530; //final = Variable darf nicht verändert werden

    //Min- und MaxWerte für die Eingabewerte
    final int minBreiteLabyrinth = 40;
    final int maxBreiteLabyrinth = 100;
    int standartwertBreite = 70;

    final int minHoeheLabyrinth = 20;
    final int maxHoeheLabyrinth = 50;
    int standartwertHoehe = 35;

    final int minWandwahrscheinlichkeitLabyrinth = 0;
    final int maxWandwahrscheinlichkeitLabyrinth = 100;
    int standartwertWandwahrscheinlichkeit = 50;

    final int minAnimationLabyrinth = 0;
    final int maxAnimationLabyrinth = 200;
    int standartwertAnimation = 100;

  //WindowListener
  public void windowClosed(WindowEvent e) {
    System.exit(0);
  }

  public void windowClosing(WindowEvent e) {
    e.getWindow().dispose();
  }

public void actionPerformed(ActionEvent e) {
    String cmd = e.getActionCommand();

    if (cmd.equals("Start")) {

          LabyrinthController windows = new LabyrinthController();
          LabyrinthView labyrinth = new LabyrinthView(gui.getScrollbar_breite().getValue(),
                                      gui.getScrollbar_hoehe().getValue(),
                                      gui.getScrollbar_wand().getValue(),
                                      gui.getScrollbar_sek().getValue(),windows);
          //LabyrinthView labyrinth = new LabyrinthView(windows);
          labyrinth.setSize(festerBreiteLabyrinth, fensterHoeheLayrinth); //Vorgegebene Größe
          labyrinth.setVisible(true);
          gui.setVisible(false);
    }

    else if (cmd.equals("Abbruch")) {
      System.exit(0);
    }

  }

  //AdjustmentListener

 public void adjustmentValueChanged(AdjustmentEvent e) {
    Adjustable cmd = e.getAdjustable();

    if (cmd.equals(gui.getScrollbar_breite())) {
      gui.getTextfeld_breite().setText("" + gui.getScrollbar_breite().getValue());
    }
    if (cmd.equals(gui.getScrollbar_hoehe())) {
      gui.getTextfeld_hoehe().setText("" + gui.getScrollbar_hoehe().getValue());
    }
    if (cmd.equals(gui.getScrollbar_wand())) {
      gui.getTextfeld_wand().setText("" + gui.getScrollbar_wand().getValue());
    }
    if (cmd.equals(gui.getScrollbar_sek())) {
      gui.getTextfeld_sek().setText("" + gui.getScrollbar_sek().getValue());
    }
  }

  public void keyPressed(KeyEvent e) {
    char key = e.getKeyChar();
    if (! ( (Character.isDigit(key))||
             e.getKeyChar() == e.VK_BACK_SPACE ||
             e.getKeyChar() == e.VK_DELETE || e.getKeyCode() == e.VK_RIGHT ||
             e.getKeyCode() == e.VK_LEFT)) {
      e.consume();
    }
  }

  public void keyReleased(KeyEvent e) {
  }

  public void keyTyped(KeyEvent e) {
  }

  //TextListener

  /**
   * textValueChanged
   *
   * @param e TextEvent
   */
  public void textValueChanged(TextEvent e) {
 try {
   if (e.getSource().equals(gui.getTextfeld_breite())) {
     gui.getScrollbar_breite().setValue(Integer.parseInt(gui.getTextfeld_breite().getText()));
   }
   else if (e.getSource().equals(gui.getTextfeld_hoehe())) {
     gui.getScrollbar_hoehe().setValue(Integer.parseInt(gui.getTextfeld_hoehe().getText()));
   }
   else if (e.getSource().equals(gui.getTextfeld_wand())) {
     gui.getScrollbar_wand().setValue(Integer.parseInt(gui.getTextfeld_wand().getText()));
   }

   else if (e.getSource().equals(gui.getTextfeld_sek())) {
     gui.getScrollbar_sek().setValue(Integer.parseInt(gui.getTextfeld_sek().getText()));
   }

 }

 catch (NumberFormatException ef) {
   if (e.getSource().equals(gui.getTextfeld_breite())) {
     gui.getScrollbar_breite().setValue(0);
   }
   else if (e.getSource().equals(gui.getTextfeld_hoehe())) {
     gui.getScrollbar_hoehe().setValue(0);
   }
   else if (e.getSource().equals(gui.getTextfeld_wand())) {
     gui.getScrollbar_wand().setValue(0);
   }

   else if (e.getSource().equals(gui.getTextfeld_sek())) {
     gui.getScrollbar_sek().setValue(0);
   }

 }
}

  public void focusLost(FocusEvent e) {
    //Für Textfeld Breite
    if (e.getSource().equals(gui.getTextfeld_breite())) {
      if (gui.getTextfeld_breite().getText().equals("")) {
        gui.getTextfeld_breite().requestFocus();
      }

      else if ( (Integer.parseInt(gui.getTextfeld_breite().getText())) <
               minBreiteLabyrinth) {

        gui.getTextfeld_breite().setText("" + minBreiteLabyrinth);
      }
      else if ( (Integer.parseInt(gui.getTextfeld_breite().getText())) >
               maxBreiteLabyrinth) {

        gui.getTextfeld_breite().setText("" + maxBreiteLabyrinth);
      }

    }
    //Für Textfeld Hoehe
    else if (e.getSource().equals(gui.getTextfeld_hoehe())) {
      if (gui.getTextfeld_hoehe().getText().equals("")) {
        gui.getTextfeld_hoehe().requestFocus();
      }

      else if ( (Integer.parseInt(gui.getTextfeld_hoehe().getText())) <
               minHoeheLabyrinth) {

        gui.getTextfeld_hoehe().setText("" + minHoeheLabyrinth);
      }
      else if ( (Integer.parseInt(gui.getTextfeld_hoehe().getText())) >
               maxHoeheLabyrinth) {

        gui.getTextfeld_hoehe().setText("" + maxHoeheLabyrinth);
      }

    }
    //Für Textfeld Wandwahrscheinlichkeit
    else if (e.getSource().equals(gui.getTextfeld_wand())) {
      if (gui.getTextfeld_wand().getText().equals("")) {
        gui.getTextfeld_wand().requestFocus();
      }

      else if ( (Integer.parseInt(gui.getTextfeld_wand().getText())) <
               minWandwahrscheinlichkeitLabyrinth) {

        gui.getTextfeld_wand().setText("" + minWandwahrscheinlichkeitLabyrinth);
      }
      else if ( (Integer.parseInt(gui.getTextfeld_wand().getText())) >
               maxWandwahrscheinlichkeitLabyrinth) {

        gui.getTextfeld_wand().setText("" + maxWandwahrscheinlichkeitLabyrinth);
      }

    }
    //Für Textfeld Animation
    else if (e.getSource().equals(gui.getTextfeld_sek())) {
      if (gui.getTextfeld_sek().getText().equals("")) {
        gui.getTextfeld_sek().requestFocus();
      }

      else if ( (Integer.parseInt(gui.getTextfeld_sek().getText())) <
               minAnimationLabyrinth) {

        gui.getTextfeld_sek().setText("" + minAnimationLabyrinth);
      }
      else if ( (Integer.parseInt(gui.getTextfeld_sek().getText())) >
               maxAnimationLabyrinth) {

        gui.getTextfeld_sek().setText("" + maxAnimationLabyrinth);
      }

    }

  }

  public void focusGained (FocusEvent e) {

   }

   public void registerModel(DialogView gui) {
     this.gui = gui;
   }

}

import java.awt.*;
import java.awt.event.*;

public class LabyrinthView
    extends Frame {

  int breite;
  int hoehe;
  int wandwahrscheinlichkeit;
  int animation;
  final int labyrinthFensterbreite = 900;
  final int labyrinthFensterhoehe = 450;
  private CanvasLabyrinth labyrinthFeld;
  public PopupMenu popup;
  int zelle;
  GridBagLayout layoutMgr = new GridBagLayout();
  private DialogView gui;

  //Definitin der Button
  Button start;
  Button abbruch;

  //Hilfsmethode zum Platzieren einer Komponente
  private void placeItem(Component c, int x, int y, int width, int height,
                         int fill, int anchor, int ipadx, Insets insets) {

   GridBagConstraints constraints = new GridBagConstraints();
   constraints.gridx = x;
   constraints.gridy = y;
   constraints.gridwidth = width;
   constraints.gridheight = height;
   constraints.fill = fill;
   constraints.anchor = anchor;
   constraints.ipadx = ipadx; //Konstanter Wert für minimale höhe
   constraints.insets = insets; //Rand der frei gelassen wird - Insets insets,

  layoutMgr.setConstraints(c, constraints);
  add(c);
  }

  //Konstruktor

  public LabyrinthView(int breite, int hoehe, int wandwahrscheinlichkeit,
                                int animation, LabyrinthController window) {
   //public LabyrinthView(LabyrinthController window) {
    //Name des Fensters
    setTitle("Das Labyrinth");

    //Parameter des Fensters
    this.breite = breite;
    this.hoehe = hoehe;
    this.wandwahrscheinlichkeit = wandwahrscheinlichkeit;
    this.animation = animation;

    setLayout(layoutMgr);

    start = new Button("Start");
    abbruch = new Button("Abbruch");
    
    //Ermittlung der Zellengröße
   if ( (labyrinthFensterbreite / breite) <= (labyrinthFensterhoehe / hoehe)) {
     zelle = (labyrinthFensterbreite / breite);
   }
   else {
     zelle = (labyrinthFensterhoehe / hoehe);
   }

   //Objekt vom Typ Canvas (Mycanvas abgeleitet) für das Labyrinth erstellen
   labyrinthFeld = new CanvasLabyrinth(breite,hoehe,wandwahrscheinlichkeit,zelle);
   labyrinthFeld.setSize(labyrinthFensterbreite + 1, labyrinthFensterhoehe + 1);
   labyrinthFeld.setBackground(Color.yellow);

   // ----------------Festlegung der Zeile für die Überschrift---------
     placeItem(labyrinthFeld, 0, 0, 1, 10, GridBagConstraints.NONE,
             GridBagConstraints.WEST, 0, new Insets(0, 0, 0, 0)
             );

     placeItem(start, 1, 0, 1, 1, GridBagConstraints.NONE,
             GridBagConstraints.EAST, 30, new Insets(5, 10, 0, 0)
             );

    placeItem(abbruch, 1, 2, 1, 1, GridBagConstraints.NONE,
            GridBagConstraints.EAST, 12, new Insets(5, 10, 0, 0)
           );

    //PopupMenu
   popup = new PopupMenu();

   popup.add("Linksroboter");
   popup.add("Rechtssroboter");
   popup.add("Zufallsroboter");

   add(popup);

    //EreignisBehandlung der Button
    start.addActionListener(window);
    abbruch.addActionListener(window);
    popup.addActionListener(window);

    //Keine Größenänderung des Fensters
    setResizable(false);
    addWindowListener(window); //Schließen Fenster mit x
    pack();
    
  }

}

Ich weiß dass das viel Code ist und hoffe das ihr mein Problem versteht und mir helfen könnt.

:cry: :cry:
 

rik0

Mitglied
Ich weiß jetzt zwar nicht, ob ich das Problem richtig verstanden habe aber kannst Du nicht einfach im Labyrinth-Objekt eine Referenz auf das DialogView-Objekt speichern?


btw: Wer ist denn Hanno? :wink:
 

Plontschi

Neues Mitglied
Hallo
Oben seht ihr ja meinen Code. Was muß den jetzt in die Model Klasse? Bisher habe ich ja nur die View und den Controller.
 

Azrahel

Bekanntes Mitglied
super("Roboter im Labyrinth");//laut Hanno ist setTitle besser weil es immer besser
//aussieht die methoden der eigenen klasse zu benutzen
//anstatt auf die oberklasse zuzugreifen findet er

Dann frag Hanno nochmal warum das Kommentar hier nicht simmt :D
Du hast nämlich setTitle garnicht benutzt :bae:
damit der Kommentar stimmt müssteste das so machen :meld:
Code:
super();
setTitle("Roboter im Labyrinth");
was Hanno sagt stimmt auch (meistens), weil nicht nur einfach besser aussieht, sondern weils ganz klar einfach logisch ist. Weil wenn ich ne Methode aus der Mutterklasse überschreibe macht sie ja (meistens) auch was anderes als die Muttermethode, und dann wärs ja schön doof doch die Muttermethode aufzurufen.
Im fall super("jaja") rufst du jedoch keine Methode sondern den Konstruktor der Mutterklasse auf, und das ist schon ok, und auf jeden Fall mal ne Zeile kürzer als super und dann setTitle zu machen :meld:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Verbindung von Code und JFrame AWT, Swing, JavaFX & SWT 4
C JavaFX Edit TableView in Verbindung mit SceneBuilder AWT, Swing, JavaFX & SWT 1
L JavaFX Verbindung zwischen Beschreibung und Listener (Codebehind Klasse) AWT, Swing, JavaFX & SWT 4
D Swing Komponenten Anordnung eines Panels in Verbindung eines weiteren Panels AWT, Swing, JavaFX & SWT 9
E JMenu erscheint nach RDP-Verbindung auf falschem Desktop AWT, Swing, JavaFX & SWT 1
C JavaFX Entfernen vom "java" Menüeintrag in der Systemmenüleiste in Mac OsX in Verbindung mit JavaFX AWT, Swing, JavaFX & SWT 1
O Swing Java PhpMyAdmin verbindung AWT, Swing, JavaFX & SWT 3
P Swing Dialog zeigt keinen Inhalt in Verbindung mit JFrame AWT, Swing, JavaFX & SWT 18
C TextFeld in Verbindung zur ComboBox automatisch aktualisieren AWT, Swing, JavaFX & SWT 7
C Swing MVC Verbindung von Model und Db AWT, Swing, JavaFX & SWT 23
xehpuk Swing Box-Glue funktioniert nicht in Verbindung mit JTextField AWT, Swing, JavaFX & SWT 3
T JTextField ohne Verbindung zur Außenwelt AWT, Swing, JavaFX & SWT 3
C Swing Problem mit TableCellRenderer in Verbindung mit TableRowSorter AWT, Swing, JavaFX & SWT 2
O Verstehe ActionListener in Verbindung mit JMenuItem AWT, Swing, JavaFX & SWT 4
S Vor Exit Verbindung trennen AWT, Swing, JavaFX & SWT 3
O Bindings, dynamische Verbindung (Vorbau mit Netbeans) AWT, Swing, JavaFX & SWT 10
N Problem mit URL in Verbindung mit Bildern AWT, Swing, JavaFX & SWT 17
M GUI in Verbindung mit invokeLater() bzw. invokeAndWait() AWT, Swing, JavaFX & SWT 2
S JavaFX Fehler zwischen View und Controller bei MouseEvent (MVC) AWT, Swing, JavaFX & SWT 13
J Java FX NullPointerException, ObservableList wird in View nicht angezeigt.. AWT, Swing, JavaFX & SWT 34
J Saubere Trennung Model, View, Controller Javafx AWT, Swing, JavaFX & SWT 10
H 3 verschiedene Nachrichten in einer FXML View die Infos kommen aus DB AWT, Swing, JavaFX & SWT 4
ralfb1105 JavaFX Exception Message von Model Class via Controller in View darstellen AWT, Swing, JavaFX & SWT 39
S JavaFX Boolean ändern Table View AWT, Swing, JavaFX & SWT 14
M Swing MVC-Pattern - View mit mehreren Models AWT, Swing, JavaFX & SWT 5
M JavaFX - Array in View auslesen AWT, Swing, JavaFX & SWT 12
4a61766120617274697374 dynamische Tree View AWT, Swing, JavaFX & SWT 2
H JavaFX Ein View vorschalten Exception AWT, Swing, JavaFX & SWT 7
M SWT View nicht mehr sichtbar AWT, Swing, JavaFX & SWT 2
G JavaFX "Framework" zur View Ersellung AWT, Swing, JavaFX & SWT 0
M JavaFX Image View Würfel berechnen AWT, Swing, JavaFX & SWT 3
K Panels mit eigenen Controllern in Main-View einbauen AWT, Swing, JavaFX & SWT 4
T View AccessibleContext AWT, Swing, JavaFX & SWT 0
S Swing Auf Änderungen eines Models in der View einer JTable reagieren AWT, Swing, JavaFX & SWT 1
S Swing JPanel in View ersetzen AWT, Swing, JavaFX & SWT 10
O Swing JTextField Sync View -> Model AWT, Swing, JavaFX & SWT 3
S View-Komponenten im Controller bekannt machen AWT, Swing, JavaFX & SWT 7
L View aus dem MVC ist immer die GUI? AWT, Swing, JavaFX & SWT 5
Nicklas2751 Table View zeigt keinen Inhalt nur leere Zeilen AWT, Swing, JavaFX & SWT 2
Rudolf Swing Baut die View die Modelebene auf oder wer? AWT, Swing, JavaFX & SWT 13
G Swing MVC / View - Controller AWT, Swing, JavaFX & SWT 7
N MVC - Logik zum Verändern der View AWT, Swing, JavaFX & SWT 8
V Eclipse View Right-Click Menu hinzufügen AWT, Swing, JavaFX & SWT 2
D Drag-Action: Innerhalb meiner View? AWT, Swing, JavaFX & SWT 3
C SWT-Elemente an View-Fenster angleichen und automatisch resizen AWT, Swing, JavaFX & SWT 3
G Swing Höhe des View eines JScrollPane fest auf Höhe des JScrollPane setzen! AWT, Swing, JavaFX & SWT 4
R Model View Controller Konzept AWT, Swing, JavaFX & SWT 2
R Swing Designfrage - Zusammenspiel Model / View AWT, Swing, JavaFX & SWT 10
J Swing SwingActions und das Problem auf den View bzw. das Model zuzugreifen AWT, Swing, JavaFX & SWT 2
D Swing JTable Model View Problem AWT, Swing, JavaFX & SWT 6
H shell in view implementieren; menu mit keystroke unterlegen AWT, Swing, JavaFX & SWT 8
M Swing Model an View binden AWT, Swing, JavaFX & SWT 4
M Swing Von einem Controller aus View-Elemente ändern AWT, Swing, JavaFX & SWT 11
H Swing JScrollPane mit JPanel als View AWT, Swing, JavaFX & SWT 3
B Sudokuartiger View (RadiobuttonTableView) mit JFace Viewer? AWT, Swing, JavaFX & SWT 3
N FileChooser in View AWT, Swing, JavaFX & SWT 3
F Swing J(X)Table Spalten umsortieren NUR im View (Wie finde ich eine Spalte nach Name?) AWT, Swing, JavaFX & SWT 3
hdi Swing JTable & Filtern: Daten nicht in der View AWT, Swing, JavaFX & SWT 2
B SWT Textdatei Lesen und Anzeige in View - Zeichensatzproblem AWT, Swing, JavaFX & SWT 4
D Design - View & Controller AWT, Swing, JavaFX & SWT 2
H Eclipse View / Window Layout AWT, Swing, JavaFX & SWT 3
N RCP/SWT View durch Programm auf 2. Bildschirm verschieben AWT, Swing, JavaFX & SWT 2
B view in andere View einbinden AWT, Swing, JavaFX & SWT 5
G RCP - SWT :: Scrollbars in einer View AWT, Swing, JavaFX & SWT 10
Zed JTable view auf Selection setzen AWT, Swing, JavaFX & SWT 2
R MVC: System.out.prinln in View umleiten geht nicht richtig AWT, Swing, JavaFX & SWT 7
K JSpinner - Model <-> View, unterschiedliche Werte AWT, Swing, JavaFX & SWT 9
E Mehrere Views in einer View AWT, Swing, JavaFX & SWT 3
TRunKX Ereignissweitergabe von Jlist.getSelected() aus der View AWT, Swing, JavaFX & SWT 7
D Scrollbalken in einem View AWT, Swing, JavaFX & SWT 2
I Shell aus einer Plugin-View öffnen . AWT, Swing, JavaFX & SWT 4
B View zeichnet Daten aus dem Model ohne Update AWT, Swing, JavaFX & SWT 4
F MVC: Update von View und Controller AWT, Swing, JavaFX & SWT 5
S MVC - Neues Frame, neue View, neuer Controller? AWT, Swing, JavaFX & SWT 3
C Model View Controller - Beispielimplementation AWT, Swing, JavaFX & SWT 5
M SWT und Model View Controller? AWT, Swing, JavaFX & SWT 8
M auch JScrollPane aber mit Zoomen, wie wird der View gesetzt AWT, Swing, JavaFX & SWT 2
MiMa Strukturierung und Organisation von umfangreiche Controller AWT, Swing, JavaFX & SWT 1
R Fxml findet controller nicht AWT, Swing, JavaFX & SWT 2
_user_q Objekte vom MainController in anderen Controller verwenden und andersherum (NullPointerException) AWT, Swing, JavaFX & SWT 14
sserio Wie funktioniert ein Controller bei JavaFx? AWT, Swing, JavaFX & SWT 1
A JavaFX Controller Problem AWT, Swing, JavaFX & SWT 1
I JavaFX - Pane wechseln über 2. Controller AWT, Swing, JavaFX & SWT 5
M4cM4rco0707 JavaFX Custom-Komponente mit Custom-Controller AWT, Swing, JavaFX & SWT 3
W Daten von Controller zu Controller übertragen AWT, Swing, JavaFX & SWT 7
M JavaFX JavaFX in mehrere Controller AWT, Swing, JavaFX & SWT 21
OSchriever Auf Stage von FXML-Controller zugreifen AWT, Swing, JavaFX & SWT 12
J JavaFX JavaFX Splitpane - Zugriff auf die Controller der Elemente AWT, Swing, JavaFX & SWT 8
L JavaFX Exception nach includieren einer fxml // nested controller AWT, Swing, JavaFX & SWT 1
G JavaFX SplitPane Anwendung - Controller Probleme AWT, Swing, JavaFX & SWT 5
J Injection - Aber Controller sind null AWT, Swing, JavaFX & SWT 3
J Controller ist null - Warum AWT, Swing, JavaFX & SWT 3
@SupressWarnings() JavaFX Auf den Controller einer ListCell zugreifen AWT, Swing, JavaFX & SWT 4
L Javafx Controller Klasse in Maven AWT, Swing, JavaFX & SWT 7
M NullPointerException / Controller AWT, Swing, JavaFX & SWT 4
ralfb1105 JavaFX Daten zwischen Controller "austauschen" AWT, Swing, JavaFX & SWT 65
R JavaFX Übergabe von Parametern an Controller AWT, Swing, JavaFX & SWT 7
J Controller wird zu groß, was tun ? AWT, Swing, JavaFX & SWT 5
MiMa GUI Controller für Border Pane als MVC Modell AWT, Swing, JavaFX & SWT 1
K JavaFX in mehrere Controller aufteilen AWT, Swing, JavaFX & SWT 29

Ähnliche Java Themen

Neue Themen


Oben