Tabelle / Grid Verwaltung


melmager

Erfahrenes Mitglied
#1
Es geht nicht um Jtabel - sondern um das Problem eine Tabelle / Grid Hilfsclasse zu bauen.
(gibt sicher schon - habe ich aber noch nicht gefunden)
Es geht eher um eine Funktion wie bei der HTML Tabelle:
reihenhöhe / Spaltenbreite der gesamten reihe/Spalte richtet sich nach dem grössten Feld in der der entsprechenden reihe/spalte.

Die Grafische Umsetzung müsste dann in zwei schritten gehen:
1) alle Felder durchgehen und ermitteln welche x/y Grösse gebraucht wird und sich den grössten Wert merken
2) dann zeichnen mit 2D

Eine mögliche Umsetzung:

Code:
class Feld {
 int pos,size;
}
Code:
class Grid {
ArrayList<Feld> zeile = new ArrayList<>();
ArrayList<Feld> spalte = new ArrayList<>();

void setColumSize(int columid, int size) {}
int getColumPosition(int columid) {}
// für row genauso
}
Diese Umsetzung würde bedeuten das die Classe Feld ein X Wert hat wenn er aus der spalte kommt und ein Y Wert wenn er aus der zeile kommt. Ein nicht grade preisverdächtiges design :(

Welche Ideen habt Ihr dazu ?

Projekt: https://www.tutorials.de/threads/projekt-lernsoftware-fuer-keyboard-musik.403666/
Problem: Notenzeilen Höhe ist variabel (mit/ohne Songtext/Spielanweisungen/Akkorde)
Notenbreite abhängig von der Note ...
 
Zuletzt bearbeitet:

melmager

Erfahrenes Mitglied
#2
Update:
Feld classe speichert data, die breite und die x Position links
Code:
class Feld {
  Objekt data;
  int: breit, xpos;
}
zeile Classe speichert eine Row von Feldern mit Höhe der zeile und Y Position oben

Code:
Class Zeile {
 int hoch, ypos;
 ArrayList<Feld> felder;
}
und classe grid speichert die zeilen
Code:
class Grid {
  ArrayList<Zeile> zeile;
}
ich glaube mit dem Aufbau kann man leben .