WinFuture-Forum.de: Java-problem - Dynamische Oberflächen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Java-problem - Dynamische Oberflächen


#1 Mitglied ist offline   du ciel 

  • Gruppe: aktive Mitglieder
  • Beiträge: 148
  • Beigetreten: 03. Dezember 04
  • Reputation: 0

geschrieben 25. Januar 2006 - 23:33

Hallo Leute,

ich bastel grad an einem Programm, dass eine unbekannte Anzahl an numerischen Werten einlesen soll, also eine Koeffizientenmatrix füllt, mit der ich dann hantieren kann.

Problem ist jetzt: Ich suche eine Klasse/Funktion, der ich die Anzahl der numerischen Werte, die eingelesen werden sollen, übergebe - anschließend soll sich ein neues Form-Fenster öffnen mit genau der Anzahl Eingabefelder wie gewünscht. Leider weiß ich nicht wie ich diese Eingabefelder dynamisch erzeugen kann.

Das zweite Problem ist jetzt: wie kann ich diese eingelesene mehrdimensionale Matrix aus der Eingabefunktion zurückgeben.

>> koeff[][] = Eingabefunktion(Anzahl); << dürfte wohl nicht funktionieren, da man mit Matrizen leider nicht so umherspringen darf ...


wäre super, wenn mir jemand weiterhelfen kann :cool:


gruß
du ciel
0

Anzeige



#2 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 26. Januar 2006 - 00:06

Zitat

Leider weiß ich nicht wie ich diese Eingabefelder dynamisch erzeugen kann.

AWT, Swing und SWT sind gut dokumentiert.
Üblicherweise erzeugst du einfach ein JPanel und dort ein paar JTextField.

Zitat

mehrdimensionale Matrix

Mehrdimensionale Matrizen sind Tensoren. Aber du hast ja eh nur [][], also 2 Dimensionen.

Zitat

koeff[][] = Eingabefunktion(Anzahl); << dürfte wohl nicht funktionieren, da man mit Matrizen leider nicht so umherspringen darf ...

Warum nicht? Allerdings solltest du dabei sicherstellen, daß alle Subarrays von koeff auch die gleiche Länge haben. Und es vor allem richtig schreiben: int[][] koeff = bzw. int koeff[][] = oder int koeff[][]; koeff =, ersteres bevorzugt
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#3 Mitglied ist offline   du ciel 

  • Gruppe: aktive Mitglieder
  • Beiträge: 148
  • Beigetreten: 03. Dezember 04
  • Reputation: 0

geschrieben 28. Februar 2006 - 11:40

(nochmal ausgraben muss)

hab leider keine infos zum thema dynamische erzeugung von textfeldern gefunden und ich hab ne weile gegoogled :-(


also das:
...
if (cmd.equals("Start")) {
for (int i=1;i<=5;i++) {
TextField[][] textfield_test = new TextField[i][i];
textfield_test[i][i].setBounds(15+(i-1)*50,maxh+55+(i*25),80,20);
add(textfield_test[i][i]);
}
}
...

funktioniert leider nicht, es kommt nen fehler sobald ich den "Start"-button betätige und is ja auch klar, die init. ist nicht korrekt (obwohl der compiler keinen fehler meldet) ... und das:
...
if (cmd.equals("Start")) {
for (int i=1;i<=5;i++) {
TextField textfield_test = new TextField();
textfield_test.setBounds(15+(i-1)*50,maxh+55+(i*25),80,20);
add(textfield_test);
}
}
...

zeichnet zumindest die gewünschten textfields, aber bei ein und demselben zugewiesenen namen weiß ich nicht wie man ein einzelnes auslesen könnte ...

hmm ...

Dieser Beitrag wurde von du ciel bearbeitet: 28. Februar 2006 - 11:42

0

#4 Mitglied ist offline   du ciel 

  • Gruppe: aktive Mitglieder
  • Beiträge: 148
  • Beigetreten: 03. Dezember 04
  • Reputation: 0

geschrieben 28. Februar 2006 - 12:19

ja das stimmt natürlich, das war nur ein test von mir um ein 2dim. textfeld überhaupt erstmal zu erzeugen (schleife hatte eben nur eine diagonale erstellt)

... wenn du deinen code mal ausführst wirst du bei buttonbetätigung nen error kriegen und ich wüsste zu gern wie der gefixt wird
0

#5 Mitglied ist offline   du ciel 

  • Gruppe: aktive Mitglieder
  • Beiträge: 148
  • Beigetreten: 03. Dezember 04
  • Reputation: 0

geschrieben 28. Februar 2006 - 13:24

ja, buttons hab ich schon mehrere (funktionierende) erstellt - das problem ist wie gesagt das stückchen code zur erstellung der 2d-textfelder innerhalb der schleife ... oder funzt der code oben bei dir etwa ...

btw. die javadocs enthalten nur eine einfache dekl. - ich hab nichts zu textfeldvektoren gefunden und in anderen büchern wie gotojava oder 'die insel' hab ich auch nichts finden können :-/ ... hmm, wahrscheinlich isses ein dummer anfängerfehler und keiner versteht mich :-I
0

#6 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 28. Februar 2006 - 17:42

Solltest du das Textfield-Array nicht erst einmal mit neu erzeugten Textfields füllen? Das .setBounds() produziert ja logischerweise eine NullPointerException.
Und warum erzeugst du es in jedem Schleifendurchlauf neu, um dann einen einzigen Wert zubetrachten und es dann wieder zu verwerfen?

Und warum schreibst du außerhalb des Arrays? Der Index läuft von 0 bis length-1.

TextField[][] textfield_test = new TextField[5][5];
for (int i=0;i<5;i++) {
  for (int j=0;j<5;j++) {
   TextField textField = new TextField();
   textField.setBounds(15+(i-1)*50,maxh+55+(i*25),80,20);
   //TODO: Listener hinfügen
   textfield_test[i][j] = textField;
  }
}

Dieser Beitrag wurde von Rika bearbeitet: 28. Februar 2006 - 17:45

Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#7 Mitglied ist offline   du ciel 

  • Gruppe: aktive Mitglieder
  • Beiträge: 148
  • Beigetreten: 03. Dezember 04
  • Reputation: 0

geschrieben 28. Februar 2006 - 20:28

thx rika, es funzt ... an der letzten zuweisung hatts gefehlt ;)
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0