Daten aus einem Frame werden im nächsten nicht gesehen

Status
Nicht offen für weitere Antworten.

Aticus

Mitglied
Hallo zusammen,
hab vor kurzem meine ersten Gehversuche unternommen, Java nicht nur über die Commandline zu nutzen. Nun stehe ich vor folgendem Problem:

Der User gibt in einem Frame (f1) einen Zahlenwert ein (zb5).

Das nächste Fenster (f2) erwartet nun Einträge für eine n x n+1 Matrix der zuvor definierten Größe (also 30).

Diese Werte möchte ich in einer Textdatei speichern und wollte sie abgreifen, sobald die Matrixeingabe mit ok bestätigt wurde. Leider sieht der Actionlistener-block nun diese Matrixfelder nicht mehr.

Bei dem ersten Wert konnte ich vor dem Actionlistener initialisieren, da ich ja weiß, dass ich genau ein Textfeld und genau einen ok-Button brauche, dass klappt natürlich nicht bei der Matrix da der User ja die Anzahl der Felder bestimmt.

Als kleine weitere Besonderheit: diese beiden Abfragen wiederholen sich, also ein f1 ruft f2 und f2 ein f1 eine endliche anzahl (Nutzereingabe) oft.

Hier dann mal der Code dazu:

Java:
package com.tutego.insel.ui.swing;


import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;


/**
 *
 * @author Michi
 */
public class Runner {
  public static void main ( String[] args ) throws IOException
  {




      final int tfaktor=4;// Umrechnugnsfaktor Zeit
    final double wegfaktor=0.5; //Umrechnungsfaktor weg
    double weg=1935.5; //gesamtweg

//hier der erste frame für Geschwindigkeit und Anzahl der Knoten
    final JFrame f1 = new JFrame();
    f1.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
    f1.setLayout( new GridLayout(3,1) );
    f1.setSize( (int) (200) , 200 );
    final JButton go1 = new JButton( "Go" );
    final JTextField speed1 = new JTextField( "Geschwindigkeit", 10 );
    final JTextField knotenzahl = new JTextField( "# Knoten", 10 );
    //tooltips:
    go1.setToolTipText( "Zur nächsten Phase" );
    speed1.setToolTipText("Zulässige Geschwindigkeit in km/h" );
    knotenzahl.setToolTipText("Anzahl der Kreuzungen" );

    f1.add(speed1);
    f1.add(knotenzahl);
    f1.add(go1);
    f1.pack();
    f1.setVisible( true );
//der zweite frame für Abstände in Hinrichtung


    go1.addActionListener( new ActionListener() {
  @Override public void actionPerformed( ActionEvent e ) {
     int knotenint = ZahlausString.zahlen(knotenzahl.getText());
      //hier erzeugen wir schonmal die Dateien für die Knoten
      String[] dateinamen= new String[knotenint];
      final PrintWriter[] dateien = new PrintWriter[knotenint];
     for(int i=0;i<knotenint;i++)
      {
          dateinamen[i]="c:/Pilzdaten/datei"+(i+1)+".txt";
                                                    try {
                                                        dateien[i] = new PrintWriter(dateinamen[i]);
                                                    } catch (FileNotFoundException ex) {
                                                        Logger.getLogger(Runner.class.getName()).log(Level.SEVERE, null, ex);
                                                    }
     }
      //also sind die dateien nun vorhanden

      //der zweite frame für Abstände in Hinrichtung
  
    final JFrame f2 = new JFrame("Abstand Hinrichtung");
    f2.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
    f2.setLayout( new GridLayout(1,knotenint) );
    final JTextField[] hinweg  = new JTextField[knotenint-1]  ;
        for(int i=0;i<knotenint-1;i++){
            hinweg[i]= new JTextField(5);
            hinweg[i].setToolTipText("Abstand (m) von Haltelinie zu Haltelinie in Hinrichtung" );
            f2.add(hinweg[i]);
        }
    //nächster go button

    final JButton go2 = new JButton( "Go" );
    f2.add(go2);
    f1.dispose();
    f2.pack();
    f2.setVisible( true );

    //nächster untermenü für Rückrichtung
      go2.addActionListener( new ActionListener() {
  @Override public void actionPerformed( ActionEvent e ) {
   //der zweite frame für Abstände in Hinrichtung
    final int knotenint = ZahlausString.zahlen(knotenzahl.getText());
    final JFrame f3 = new JFrame("Abstand Rückrichtung");
    f3.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
    f3.setLayout( new GridLayout(1,knotenint) );
    final JTextField[] rueckweg  = new JTextField[knotenint-1]  ;
        for(int i=0;i<knotenint-1;i++){
            rueckweg[i]= new JTextField(5);
            rueckweg[i].setToolTipText("Abstand (m) von Haltelinie zu Haltelinie  in Rückrichtung" );
            f3.add(rueckweg[i]);
        }
    //nächster go button

    final JButton go3 = new JButton( "Go" );
    f3.add(go3);
    f2.dispose();
    f3.pack();
    f3.setVisible( true );

  //nächstes untermenü für die anzahl der Ampeln und hier muss
  //  die forschleife laufen
    go3.addActionListener( new ActionListener() {
  @Override public void actionPerformed( ActionEvent e ) {
      final JFrame[] ampelframe= new JFrame[knotenint];
      final JFrame[] zzmframe= new JFrame[knotenint];
      final JButton[] ampelgo = new JButton[knotenint];
      final JButton[] zzmgo = new JButton[knotenint];
      final JTextField[] ampelanzahl = new JTextField[knotenint];
      for( int j = 0;j<knotenint;j++){
          ampelframe[j] = new JFrame("Ampelzahl für Knoten "+(j+1));
          ampelframe[j].setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
          ampelframe[j].setLayout( new GridLayout(2,1) );
          ampelgo[j]=new JButton("OK");
          ampelanzahl[j] = new JTextField(30);
          ampelanzahl[j].setToolTipText("Wieviele verschiedene Ampeln hat die Kreuzung?" );
          ampelframe[j].add(ampelanzahl[j]);
          ampelframe[j].add(ampelgo[j]);
          ampelframe[j].pack();
          zzmframe[j] = new JFrame("ZZM für Knoten "+(j+1));
          zzmframe[j].setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
          zzmgo[j]=new JButton("OK");

  }

for( int j = 0;j<knotenint;j++){
    final int k =j;
ampelgo[k].addActionListener( new ActionListener() {
  @Override public void actionPerformed( ActionEvent e ) {
      //hier wurde die Ampelanzahl eingegeben, also greifen wir sie gleich ab:
      dateien[k].println("Anzal: "+ampelanzahl[k].getText());
      //information in die richtige Datei gespeichert
 int zzmzeilen= ZahlausString.zahlen(ampelanzahl[k].getText())+1;
 int zzmspalten= zzmzeilen;
    zzmframe[k].setSize(200,200);
    zzmframe[k].setLayout( new GridLayout(zzmzeilen, zzmspalten) );
   final JTextField[] zzmfield = new JTextField[zzmspalten*(zzmzeilen-1)];


    for( int n = 0;n<zzmspalten*(zzmzeilen-1);n++)
    { zzmfield[n]=new JTextField(10);
     if((n+1)%(zzmspalten)==0)
     {zzmfield[n].setToolTipText("Ist dies Wellen-Hinrichtung, setze 1, Wellen-Rückrichtung 2 sonst 0" );}
     zzmframe[k].add(zzmfield[n]);
    }
  zzmframe[k].add(zzmgo[k]);
   zzmframe[k].pack();
   ampelframe[k].dispose();
zzmframe[k].setVisible(true);

  }
});//hier machen wir die actionlistener für die einzelnen ampeln zu

zzmgo[k].addActionListener( new ActionListener() {
  @Override public void actionPerformed( ActionEvent e ) {
      //es wurde ein ok für eine ZZM gegeben, also greifen wir auch hier die Daten ab:
       int zzmzeilen= ZahlausString.zahlen(ampelanzahl[k].getText())+1;
         int zzmspalten= zzmzeilen;
      for( int n = 0;n<zzmspalten*(zzmzeilen-1);n++)
          {
              if((n+1)%(zzmspalten)!=0){
//              dateien[k].print(zzmfield[n].getText());
              }
           }
      //Daten ausgelesen
      if(k<knotenint-1){
      zzmframe[k].dispose();
ampelframe[k+1].setVisible(true);}
      else {
      zzmframe[k].dispose();
          //In diesem Block werden wir die Daten auslesen und in die Datein schreiben
          //Wir wissen, dass wir so viele Dateien wie knoten brauchen, also produzieren wir zunächst die Dateien

         /* dateien[i].println("Anzal: "+ampelanzahl[i].getText());
          dateien[i].print("[");
          int zzmspalten =ZahlausString.zahlen(ampelanzahl[i].getText())+1;
          int zzmzeilen=zzmspalten;
}*/
        for(int i=0;i<knotenint;i++)
          {
          dateien[i].close();
          }
      

          System.out.println("Die nötigen Datein wurden erstellt");
      
   
   System.exit( 0 );}
  }
});//hier machen wir die actionlistener für die einzelnen zwischenzeit matrizzen zu

  }//und hier die for schleife für die listener der ampeln und zzms
f3.dispose();
ampelframe[0].setVisible(true);


  }
} );// hier schließt die ampel



  }
} );//hier schließt Abstand Rückrichtung


  }
} );//hier schließt Abstand hincirchutng

  }
}

Habe natürlich hinten und vorne bisschen was abgeschnitten, da ich denke, es ist nicht von relevanz.

In der Hoffnung auf Hilfe
greetz
Aticus
 
Zuletzt bearbeitet:

Foermchen82

Top Contributor
Schick lieber mal den ganzen Code. Das was du gepostet hast ist doch recht kryptisch und mit variablennamen wie zzmgo und apfelframe kann man nicht so viel anfangen.

Mal abgesehen davon: wie initialisierst du die ganzen Oblerflächenelemente in einem Listener? Erzeig dir doch lieber einen extra Frame, den du später anzeigst.

Versteh ich das richtig, dass du die Matrix mit TextFeldern darstellst? Nimm doch eine JTable!

Aber im großen und ganze versteh ich noch nicht so richtig deine Idee und dein Ziel!

Viele Grüße
 

Aticus

Mitglied
Hab per edit oben wie gewünscht den gesamten quellcode gesetzt. zzm steht für zwischenzeitenmatrix, ist aber einfach ein name und nein mir geht es nicht um Äpfel sondern Ampel, aber denke das ist nebensächlich.

Folgendes soll das Programm tun:

Es fragt nach einem int Wert x im ersten Frame f1

öffnet nacheinander zwei weitere die hier aber noch keine große rolle spielen (f2 und f3)

und beginnt dann abwechselnd frame f4 und frame f5 zu öffnen und zwar x mal.
(also der ActionListener :)= AL) von f3 öffnet f4, der AL von f4 öffnet f5 und der AL von f5 einen Typ von frame sorte f4 bis f5 im system end landet )

Diese Werte in f4 und f5 möchte ich in eine textdatei speichern. (später auch von f2 und f3)

Das klappt natürlich erst nachdem der User die Werte eingegeben hat, also dachte ich, ich schreibe in die Ausgabedatei Daten wenn der actionlistener von f5 aktiviert wird. Leider sieht der nicht mehr die textfeldeinträge, bzw textfelder welche durch den actionlistener von f4 erzeugt wurden.

greetz
Aticus

PS JTable? wie gesagt, arbeite noch nicht lange mit diesem part von Java, werde aber gleich mal google anwerfen
 

Foermchen82

Top Contributor
Poste bitte auch mal die Klasse "ZahlausString".

Eine JTable ist wie gesagt eine Tabelle in Swing. Mit einem passenden TableModel kannst du dir dann eine ganz normale 2 Spaltige Tabelle aufbauen und in die Zellen deinen Werte eingeben.

Aber ich muss erstmal den Code zum laufen kriegen um dir was genaueres sagen zu können, da ich den Sinn dieser Frame Orgie immer-noch nicht ganz verstehe!
 
Zuletzt bearbeitet:

Aticus

Mitglied
Hmm sowas hab ich fast befürchtet, wobei dir mit Sicherheit klar ist, was Zahlen aus String macht :)
aber hier it comes:
Java:
package com.tutego.insel.ui.swing;

public class ZahlausString {




    static int zahlen( String  wort) {
        int wert = Integer.valueOf(wort).intValue();
        return wert;
    }
}

Aber pass beim ausführen auf, da werden Datein in in Verzeichnis auf C:\ erstellt (Windowsbasis)

aber schonmal danke, dass du dich mit meinem Problem auseinandersetzt
 

Foermchen82

Top Contributor
Ok jetzt scheint es halbwegs zu laufen. Ich werde aber erst heute Abend dazu kommen genauer rain zu schauen.

Sag bitte bis dahin mal genau was den Sinn sein soll. Und bitte nicht wieder mit: Frame1 öffnet Frame2 usw. Sondern etwas greifbares, damit ich weiß wozu das alles gut sein soll und was du dir dabei gedacht haben könntest!
 
G

Gast2

Gast
Allgemein mal:

1. Solche Hilfsklassen nennt man Utilklassen.
2. Solltest du nur ein JFrame(Hauptfenster) haben, die anderen sind JDialogs oder JWindow
3.Benutze keine arrays[] sondern lieber Listen z.B. ArrayList
 

Flaming_Ace

Mitglied
die klasse:
ZahlausString fehlt.. edit: ach ne, da hast sie ja gepostet..

um einen integer wert aus einem string zu generieren bietet sich folgende methode an:
int a = Intger.parseInt(tfxy.getText());

desweiteren habe ich den sinn des programmes noch nicht so richtig verstanden, demnach habe ich auch nicht verstanden wo es hängt..

um variablen zwischen fenstern auszutauschen, musst du diese ja nicht unbedingt in eine textdatei schreiben.. dafür kann man ja einfach ne static variable/array nehmen..

falls du das ganze doch mit textdateien machen willst, dann schau dir mal das an:
Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 14 Dateien und Datenströme
 
Zuletzt bearbeitet:
G

Gast2

Gast
um variablen zwischen fenstern auszutauschen, musst du diese ja nicht unbedingt in eine textdatei schreiben.. dafür kann man ja einfach ne static variable/array nehmen..
Autsch... würde ich eher nicht machen...
Nehm das MVC oder Observer Ansatz... Mach dir ein Model und wenn das sich ändert, dann benachrichtigt es all deine Views...
 

Aticus

Mitglied
Ok du willst es greifbar? selbst schuld :)
also:
Die ganze Sache dient der Berechnung einer Grünen Welle auf einer Strasse.
Im Ersten Fenster werden zum einen die Geschwindigkeit, mit der die grüne Welle fließen soll, als auch die Anzahl der Kreuzungen, die beteiligt sind, erfragt (Knoten).
Die nächsten beiden Fenster Fragen die Abstände der Kreuzungen untereinander ab.
Zum einen in Hinrichtung und dann nochmal in Rückrichtung , also Nord-Süd und Süd-Nord.
(Und Nein diese sind nicht identisch, da von Haltelinie zu Haltelinie gemessen wurde)
Danach öffnen sich zu jeder Kreuzung Abfragen, die zum einen das Ziel haben, die Anzahl der Ampeln an der entsprechenden Kreuzung zu erfragen und im nächsten Fenster (das mit der Matrix) dann die sogenannten Zwischenzeiten. Zeiten die Autofahrer brauchen um eine Kreuzung zu räumen, bevor eine neue Ampel grün werden kann.
Diese sämtlichen Informationen sollen in Textdateien gespeichert werden und zwar pro Kreuzung, denn diese Textdateien werden später (noch nicht implementiert) als Eingabedaten mit dem Programm XPress gerufen.
Im weiteren Verlauf wird dann XPress Dateien erzeugen mit denen JAva dann weiterarbeitet (visualisierung) (kommt auch noch).

Damit solltest du ziemlich genau wissen, was der Quellcode machen soll: Eingaben erfassen und weiterleiten.

@ Flaming_Ace: Hängen tut das Programm in dem Sinne nicht, aber nachdem der User in die Matrix die Daten eingegeben hat tue ich mich schwer diese Werte an meine Textdateien weiterzuleiten.

Alle Klarheiten beseitigt:)

edit für Grammatsik
 
Zuletzt bearbeitet:

Aticus

Mitglied
Liebe Leute, ich bin euch dankbar für eure konstruktive Kritik, doch wird mir leider die Zeit fehlen um dieses Tool in ein Java Meisterstück zu verwandeln (Deadline)
Habe wie gesagt erst vor kurzem und sogleich mit diesem Projekt meinen Fuß in die grafische Programmierung gewagt.
Also seit bitte nicht böse, wenn ich nicht alle Tips, wie das reduzieren auf einen Frame etc umsetzen kann / werde, mir scheint, dass das ein Neuschreiben des gesamten Codes zur Folge hätte.

Bin jetzt erstmal für ca 2std verschwunden um mich mit der zugehörigen Arbeitsgruppe zu treffen.

greetz
& nochmals DANKE @ all
Aticus
 

Foermchen82

Top Contributor
reichen da nicht 2 Frames?

der erste Frame bleibt.
und im 2 Frame hast du eine Tabelle X-Zeilen mit folgenden Spalten:

- Entfernung zur nächsten Kreuzung in Hinrichtung
- Entfernung zur nächsten Kreuzung in Rückrichtung
- Anzahl der Ampeln
- Zwischenzeit zum Wegfahren

Das alles kannst du dann platt in eine Date schreiben.

Hab ich was vergessen?
 

Aticus

Mitglied
Hallo Foermchen

also so wie ich das im Blick habe, laesst (bin grade in der Uni => englisches tastaturlayout)
sich die Anzahl der Abfrage nicht sonderlich weiter auf einzelne Zusammenstauchen.
Klar man koennte die Abstaende in Hin und Rueckrichtung gleichzeitig erfragen (dabei geht es wie hoffentlich ersichtlich wurde um alle Abstaende aler Kreuzungen untereinander, nicht bereits um eine spezielle).
Aber ein Fenster das gleichzeitig nach Anzahl der Ampeln und den Zwischenzeiten fragt geht meiner Meinung nach nicht. Aber glaube mir ist klar warum du danach fragst: Die Groesse der Matrix haengt direkt von der Menge der Ampeln der Kreuzung ab. Als Beispiel hat eine Fussgaengerampel 4 Richtungen, bzw vier voneinander (theoretisch) unabhaengige Ampeln, als da waeren Autohin- und Autorueckrichtung, sowie Fussgaenger hin und her. Damit bekommst du eine Zwischenzeitenmatrix mit 16 Eintraegen. Jetzt nimmst du eine Kreuzung, wo du auf 8 Ampeln zu achten hast, also brauchst du auch entsprechend mehr Platz in deiner Matrix (64 felder).

Aber du sagst:
Das alles kannst du dann platt in eine Date schreiben.

Da liegt der Hase im Pfeffer meines Posts:
deshalb formuliere ich hier nochmal mein Problem, da ich das irgendwie noch nicht deutlich getan habe.
wie schaffe ich es denn meine Matrix an die Datei zu senden

das
Java:
  final JTextField[] ampelanzahl = new JTextField[knotenint];
(Zeile 120) konnte ich ja bekannt machen bevor die actionlistener kommen. Deshalb konnte ich im ereignis, dass der okknopf ausloest auch den Wert wieder erfragen.
Java:
  dateien[k].println("Anzal: "+ampelanzahl[k].getText());
(143)
Die Menge der Textfelder meiner Matrix kann ich zu dem Zeitpunkt leider noch nicht benennen, da der Wert vom User kommt.
Deshalb entsteht die Matrix erst im AL Block und vom naechsten AL Block habe ich keinen Zugriff mehr darauf....
Also wie kann ich diese Werte irgendwo abspeichern?

greetz Aticus
 

Michael...

Top Contributor
Wenn überhaupt, dann würde ich mit Dialogen arbeiten - was bei geringer Anzahl noch einigermaßen vom Anwender aktzeptierbar ist. Zur Erfassung der Matrix würde ich eine Tabelle verwenden. Hier mal ein Bsp. wie man's machen könnte:
Java:
import java.awt.*;
import java.awt.event.*;
import java.util.*;

import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;


public class TrafficDialogDemo extends JFrame {
	private JSpinner crossing;
	
	public TrafficDialogDemo() {
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setBounds(0, 0, 500, 300);
		this.setLocationRelativeTo(null);
		
		this.setLayout(new GridLayout(5,1));
		
		JSlider speed = new JSlider(JSlider.HORIZONTAL, 20, 70, 50);
		speed.setMajorTickSpacing(10);
		speed.setMinorTickSpacing(1);
		speed.setPaintTicks(true);
		speed.setPaintLabels(true);
		crossing = new JSpinner(new SpinnerNumberModel(2, 1, 100, 1));
		JButton button = new JButton("Bearbeitung starten");
		this.add(new JLabel("Geschwindigkeit", JLabel.CENTER));
		this.add(speed);
		this.add(new JLabel("Anzahl Kreuzungen", JLabel.CENTER));
		this.add(crossing);
		this.add(button);
		
		button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent evt) {
				collectData();
			}
		});
	}
	
	public void collectData() {
		int crossCount = new Integer(crossing.getValue().toString()).intValue();
		for (int i=0; i<crossCount; i++) {
			CrossDialog dialog = new CrossDialog(this);
			dialog.setVisible(true);
			
			System.out.println("Kreuzung " + i+  " besitzt " + dialog.getLightsCount() + " Ampel(n)");
			System.out.println("mit folgender Matrix:");
			System.out.println(Arrays.toString(dialog.getValues().toArray()));
		}
	}
	
	public static void main(String[] args) {
		new TrafficDialogDemo().setVisible(true);
	}
}

class CrossDialog extends JDialog {
	private JSpinner lightSpinner;
	private JButton button;
	private JTable table;
	private DefaultTableModel model;
	
	public CrossDialog(JFrame frame) {
		super(frame, true);
		this.setBounds(10, 10, 300, 300);
		lightSpinner = new JSpinner(new SpinnerNumberModel(2, 1, 20, 1));
		table = new JTable(model = new DefaultTableModel(new Object[][]{{}},
			new String[]{"Wert1", "Wert2", "Wert3", "Wert4"}));
		model.setNumRows(2);
		
		this.add(lightSpinner, BorderLayout.WEST);
		this.add(new JScrollPane(table), BorderLayout.CENTER);
		this.add(button = new JButton("Fertig"), BorderLayout.SOUTH);
		
		button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent evt) {
				closeDialog();
			}
		});
		
		lightSpinner.addChangeListener(new ChangeListener(){
			public void stateChanged(ChangeEvent evt) {
				model.setNumRows(getLightsCount());
			}
		});
	}
	
	public int getLightsCount() {
		return new Integer(lightSpinner.getValue().toString()).intValue(); 
	}
	
	public Vector getValues() {
		return model.getDataVector();
	}
	
	public void closeDialog() {
		this.dispose();
	}
}
 
Zuletzt bearbeitet:

Foermchen82

Top Contributor
Ok, dann mach es so, dass du eine Tabelle hast wo du je Zeile ein Kreuzung hast. In den Spalten hast du dann hin- und Rückweg und die Anzahl der Ampeln. und Wenn du z.b. Doppelklick auf eine Zeile Machst Öffnet sich ein Dialog, mit einer weiteren Tabelle wo du dann je Ampel die ZwischenZeiten eintragen kannst.

Mit einer einfache Datenstruktur wirst du aber nicht sehr weit kommen. Denn du hast durch die zweite Matrix eine hierarchische Struktur. Rein aus dem Bauch heraus würde ich sagen, dass du das am einfachsten in ein XML speicherst. Das geht sehr leicht mit XStream.

Versuch nicht alles erst bei einem Klick irgendwie zu erzeugen sondern vorher. Ich kann da meinen Vorrednern nur recht geben, wenn sie sagen, dass du statt mit Frames eher mit Dialogen arbeiten sollst.

Bau am Anfang deine Datenstruktur auf, und nach dem ersten Dialog kannst du beispielsweise die Liste der Kreuzungen initialisieren, da du die Anzahl ja nun hast. Das gibst du weiter an die Tabelle und je Kreuzung hast du nun eine Zeile. dann füllst du alle werte aus, und wenn du Doppelklick machst kannst du einen Dialog öffnen und und die DatenStruktur entsprechend befüllen. Und fertig bist du.

Viele grüße
 

Aticus

Mitglied
Hey Michael...

was soll ich da noch sagen, außer MUCHAS GRACIAS?
Da sind viele viele Dinge drin, die ich nicht nur optisch überaus ansprechend finde.
Werde mich morgen mal intensiv damit auseinandersetzen um zu verstehen was da hinter dem Kulissen passiert.:rtfm:
Mit deiner Erlaubnis werde ich mich dann wahrscheinlich großzügig deinem Gedankengut bedienen :)

Allen anderen sei hier auch nochmal Herzlichst gedankt. Weitere Anmerkungen könnt ihr aber bis auf weiteres zurückstellen, da der letzte Post wohl einigen Einfluss auf mein aktuelles Projekt haben wird. Doch wenn's dann wieder hakt freu ich mich bald wieder von euch zu hören.

edit @foermchen da haben wir wohl parallel gepostet, nehme ich auch zur Kenntnis und werde XML dazu aber erst einmal auf der Insel nachlesen müssen

Ein schöner Auftakt in einem neuen Forum, hier bleib ich!
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
L-ectron-X Daten aus einem JDialog einem JFrame übergeben AWT, Swing, JavaFX & SWT 4
H JTabel - RowFilter Daten für Berechnung filtern AWT, Swing, JavaFX & SWT 6
M Daten zufällig Einlesen aus einer Datei (binäres Format) AWT, Swing, JavaFX & SWT 7
W Nullpointer Exception beim übertragen von Daten von Scene zu Scene AWT, Swing, JavaFX & SWT 6
W Daten von Controller zu Controller übertragen AWT, Swing, JavaFX & SWT 7
D Columns unabhängig voneinander mit Daten füllen JavaFx AWT, Swing, JavaFX & SWT 1
T Anbinden der Tabelle an die Daten AWT, Swing, JavaFX & SWT 5
F JavaFX Tabelle mit Daten füllen AWT, Swing, JavaFX & SWT 9
A JavaFX Daten in eine HTML-Table mit JS schreiben AWT, Swing, JavaFX & SWT 3
ralfb1105 JavaFX Daten zwischen Controllern austauschen- neue Frage AWT, Swing, JavaFX & SWT 7
ralfb1105 JavaFX Daten zwischen Controller "austauschen" AWT, Swing, JavaFX & SWT 65
B AWT Bot um Daten auf Website einzugeben und die Antwort zu bekommen AWT, Swing, JavaFX & SWT 2
L Daten bearbeiten ohne GUI zu blockieren - daten haltung/zurück geben AWT, Swing, JavaFX & SWT 15
ralfb1105 Swing JComboBox update der Daten AWT, Swing, JavaFX & SWT 8
ralfb1105 Swing Dynamischer Graph zum anzeigen Perfomance Daten AWT, Swing, JavaFX & SWT 35
D MySQL Daten in JTable anzeigen AWT, Swing, JavaFX & SWT 2
K TreeTableView (cellFactory) - wie Daten in Spalten einfügen AWT, Swing, JavaFX & SWT 0
A JTable mit Daten füllen AWT, Swing, JavaFX & SWT 1
J TableView Daten werden nicht ausgegeben AWT, Swing, JavaFX & SWT 9
A Swing Wie Daten in der Form speichern? Array oder ArrayList AWT, Swing, JavaFX & SWT 2
C Swing Daten in JTable wiedergeben per TableModel und MVC Pattern AWT, Swing, JavaFX & SWT 16
T JavaFX Model Daten übergeben AWT, Swing, JavaFX & SWT 4
D Swing Größe einer JComboBox im GridBagLayout aufgrund der maximalen Länge der enthaltenen Daten AWT, Swing, JavaFX & SWT 7
J JavaFX Tableview Daten hinzufügen aus anderer Klasse AWT, Swing, JavaFX & SWT 7
J Tableview Daten hinzufügen und aktualisieren AWT, Swing, JavaFX & SWT 5
S AWT Daten über TextField und Button in array speichern AWT, Swing, JavaFX & SWT 5
G Event Handling TableView daten in ein neues Fenster herauslesen? AWT, Swing, JavaFX & SWT 3
S JavaFX (Best Practise) Daten zwischen Controllern austauschen AWT, Swing, JavaFX & SWT 1
thet1983 JavaFX TableView Objekt Daten anzeige AWT, Swing, JavaFX & SWT 2
L JavaFX Verzögerung beim Laden von Daten AWT, Swing, JavaFX & SWT 6
L Daten in neuem Fenster AWT, Swing, JavaFX & SWT 2
Tort-E JavaFX Daten an WebView Komponente AWT, Swing, JavaFX & SWT 1
I JTable: Doppelklick auf Table soll neues Fenster öffnen und Daten aus JTable anzeigen AWT, Swing, JavaFX & SWT 4
S JTable Daten aus Array AWT, Swing, JavaFX & SWT 9
M Java FX Daten an Controller übergeben AWT, Swing, JavaFX & SWT 3
S JList ist leer, aber DefaultListModel hat die Daten? AWT, Swing, JavaFX & SWT 9
M JavaFX Von FXML-Controllerdatei Daten zurückgeben AWT, Swing, JavaFX & SWT 6
F JavaFX Daten aus Tabelle in ComboBox AWT, Swing, JavaFX & SWT 9
B Swing JTable mit Daten - Reihen-Größe anpassen AWT, Swing, JavaFX & SWT 0
D Applet GWT speichert Daten nicht in Datenbank AWT, Swing, JavaFX & SWT 2
S SWT In Listen den Einträgen Daten zuordnen AWT, Swing, JavaFX & SWT 2
T SWT Table (mit Spinner Spalte) Daten auslesen AWT, Swing, JavaFX & SWT 4
F Swing JTable: Daten voreinstellen AWT, Swing, JavaFX & SWT 4
B Daten in eine JTable schreiben AWT, Swing, JavaFX & SWT 3
H Swing JfreeChart aktualisieren - mit daten aus thread AWT, Swing, JavaFX & SWT 3
J valueChanged()-Methode liefert unbrauchbare Daten AWT, Swing, JavaFX & SWT 4
B Datenübergabe zwischen Tabs und Daten speichern AWT, Swing, JavaFX & SWT 2
D SWT TreeViewer: Daten aus Model gelöscht... trotzdem noch im Baum AWT, Swing, JavaFX & SWT 4
D Daten von JDialog an JTable in JFrame übergeben AWT, Swing, JavaFX & SWT 7
O JTable zeigt die alte Daten wieder AWT, Swing, JavaFX & SWT 23
H JTable zeigt keine Daten an AWT, Swing, JavaFX & SWT 5
M Swing Daten von JPanel zu JFrame senden AWT, Swing, JavaFX & SWT 13
C Swing JTable Daten einfügen AWT, Swing, JavaFX & SWT 6
Ollek IndexOutOfBoundsException bei neuen Daten in JTable AWT, Swing, JavaFX & SWT 13
J Swing JTable-Daten Speichern und bei zeilen-änderung beibehalten. AWT, Swing, JavaFX & SWT 6
A Daten umherschieben zwischen zwei Klassen AWT, Swing, JavaFX & SWT 40
L [SWT] Daten und Bilder drucken AWT, Swing, JavaFX & SWT 2
M Trotz richtiger Daten, falsches Bild wird gezeichnet?! AWT, Swing, JavaFX & SWT 4
O JFrame: Daten alle paar Sekunden aktualisieren AWT, Swing, JavaFX & SWT 3
C Daten aus DB -> JTable aktualisieren klappt nicht AWT, Swing, JavaFX & SWT 16
A Swing(Daten zugreifen) AWT, Swing, JavaFX & SWT 25
S JComboBox - veränderliche Daten AWT, Swing, JavaFX & SWT 6
T Daten mittels ComboBox in ein JTable adden AWT, Swing, JavaFX & SWT 7
Ollek Realisierung: JTable zur Laufzeit mit neuen Daten füllen AWT, Swing, JavaFX & SWT 3
GianaSisters Swing jTable Daten unsichtbar AWT, Swing, JavaFX & SWT 12
T JTree Daten in DB schreiben am besten SQL AWT, Swing, JavaFX & SWT 21
W Daten auf Textfeld in anderer Klasse verwenden AWT, Swing, JavaFX & SWT 4
T Daten der gesamten Woche anzeigen AWT, Swing, JavaFX & SWT 2
D Problem mit JFileChooser -> Daten werden mit anführungsstriche in JTable geschrieben AWT, Swing, JavaFX & SWT 8
H JList zeigt die Daten aus dem Array nicht an! AWT, Swing, JavaFX & SWT 13
E Daten von JDialog nach JFrame übertragen AWT, Swing, JavaFX & SWT 4
K TableModel mit Daten aus Datenbank füllen AWT, Swing, JavaFX & SWT 7
M JTree mit eigenen Knoten - Zugriff auf Daten AWT, Swing, JavaFX & SWT 6
L Swing Daten in JTable aktualisieren AWT, Swing, JavaFX & SWT 5
H Swing Tabelle nach Klick auf Button mit Daten füllen? AWT, Swing, JavaFX & SWT 2
B Swing JList Daten löschen AWT, Swing, JavaFX & SWT 13
R Swing XML Datei in JTree, Problem mit Daten einlesen AWT, Swing, JavaFX & SWT 34
A SWT: Daten in Raster mit Gitternetzlinien darstellen AWT, Swing, JavaFX & SWT 7
C Swing JTextField-Daten über mehrere Dialoge AWT, Swing, JavaFX & SWT 18
K TableModel Daten übergeben AWT, Swing, JavaFX & SWT 9
Milady Swing Änderung von Daten mit sql AWT, Swing, JavaFX & SWT 2
J Daten aus einer Textdatei in ArrayList holen AWT, Swing, JavaFX & SWT 9
X Swing Daten aus Vector ins TableModel ?? AWT, Swing, JavaFX & SWT 12
T Swing Liste von Daten anzeigen AWT, Swing, JavaFX & SWT 4
S Swing Daten aus Datenbank in JTable AWT, Swing, JavaFX & SWT 2
E JCombobox mit Daten aus DB füllen AWT, Swing, JavaFX & SWT 9
L Daten werden in JTable nicht angezeigt:( AWT, Swing, JavaFX & SWT 6
Milady Annzeigen alle Daten aus der Tabelle AWT, Swing, JavaFX & SWT 6
P Swing Liste von Daten auf JFrame AWT, Swing, JavaFX & SWT 6
E Daten aus sortierter Tabelle lesen AWT, Swing, JavaFX & SWT 2
X Swing JList -> Daten anders darstellen als im Model hinterlegt -> möglich ? AWT, Swing, JavaFX & SWT 9
X Doppelte Daten in DefaultListModel unterbinden AWT, Swing, JavaFX & SWT 3
ModellbahnerTT SWT Daten zur nächsten WizardPage senden AWT, Swing, JavaFX & SWT 4
J Daten in JTable nach Sortierung auslesen AWT, Swing, JavaFX & SWT 2
hdi Swing JTable & Filtern: Daten nicht in der View AWT, Swing, JavaFX & SWT 2
S JTable Bug - eingegebene Daten werden falsch geparst :( AWT, Swing, JavaFX & SWT 4
L AWT Daten vom Dialog an Frame senden AWT, Swing, JavaFX & SWT 3
hdi Swing JTable: Löschen vom Daten im Model AWT, Swing, JavaFX & SWT 7
U JTable mit Daten aus einer HashMap füllen AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben