MediaManager Fragen/Probleme

HazelNut

Mitglied
Hey
Ich bin seit längerem dabei an einem Media Manager für mich zu Arbeiten.
Zum einen, da ich noch keinen besonders guten für mich gefunden habe zum Anderen, da ich meine Fähigkeiten in Java etwas erweitern möchte.

Inzwischen steht bereits ein "Prototyp", welcher für mich ist um zu testen welche Klassen usw ich benötige.
Dieser "funktioniert" vom Prinzip her auch bereits.

So jetzt möchte ich eben schön runterprogrammieren und vorher schon etwas planen.

Hätte dazu ein paar Fragen und vielleicht könnt ihr mir ja ein paar Tipps geben.

Welche embed DB wäre zu empfehlen?
Ich verwende momentan Java DB bzw Derby und kann mich bisher nur darüber beschweren, dass diese anscheinen kein Auto Increment beherrscht was mich shcon ein bisschen stört.
Denn wenn der User die Einträge in der Liste löscht kann es dazu kommen, dass wenn ich wieder welche eintrage diese ID bereits vorhanden ist, ich umgehe es zwar rekursiv, ist aber nicht gerade schön. Die ID, mit der ein Entry eingetragen wird erhalte ich durch den Index von der JList.

Mal mein Datenbankdesign: (leider schon länger nix mehr damit gemacht...)

attachment.php



Mich würde interessieren ob diese so passt, sind natürlich nicht alle Tabellen.

Movie zu Plot/commt usw hat eine 1:1 Beziehung und ein Movie kann ein Rating haben aber ein Rating mehrere Movies daher die Zwischenspalte, ist meine Überlegung dabei richtig, mit der Zwischentabelle?
Wie sieht es dabei mit den Foreign Keys aus?
Muss ich jede comment_id usw als foreign in die movie tabelle speichern oder nicht?
Die Tabelle Type ist vorhanden um anzugeben um welchen Typ sich der Eintrag in der Tabelle Entrys (auf dem Bild Movies) handelt. Movie, Serie usw....


Für die GUI wollte ich zuerst GroupLayout verwenden, aber das ist irgendwie nicht so mein Ding.
Gibt es für meine Zwecke bessere? Habe im FAQ GridBagLayout gefunden, welches sich im ersten überfliegen wohl als richtig erweist. Jedoch ist es von awt, trotzdem verwenden?

Für das Klassendesign verwende ich sowas wie ein MVC Pattern.

Wobei ich schon ne Frage habe:
Wenn ich jetzt eine eigene Klasse für mein Kontextmenü habe und dort zb auf "add Movie" klicke und und dieser Klasse eben die gewünschte Operation abfange.
Soll ich dann die add Funktion in dem GUI oder im Controller laufen lassen?
Die add Methode macht nichts auser ein Datenbankupdate sowie die movieListe zu erneuern.
 

Anhänge

  • design.jpg
    design.jpg
    66,8 KB · Aufrufe: 93

Marc T.

Bekanntes Mitglied
Hallo HazleNut,

zur Datenbank könnte ich dir eine H2-Datenbank empfehlen. Soweit ich weiß
kann die das meiste von dem was man so braucht. Auto-Inkrement kann sie
auf jeden Fall:

Code:
CREATE TABLE test(id bigint auto_increment, name varchar(255));

Zu deinem Layout. Prinzipiell kannst du mit jedem Layout erreichen was du
möchtest, mit dem einen mehr und mit dem anderen weniger Komfortabel.
Ich z.B. nutze gerne das BorderLayout. Da kann man Elemente nach dem
Prinzip Nord, Ost, West, Süd, Zentrum anordnen. Du kannst in jedem
Bereich dann ein weiteres Layout verschachteln und somit all deine Elemente
anordnen, wie du sie haben willst.

Beispiel für Layout-Verschachtelung (Am besten nicht copy-pasten, hier nur
schnell reingecoded ohne es zu testen ;)):

Code:
public class LayoutTest {
    public static void main(String[] args) {
        JFrame frame = new JFrame("Test");
        frame.setDefualtCloseOperation(JFrame.EXIT_ON_ClOSE);
        frame.setResizeable(false);
        frame.setSize(new Dimension(600, 400));
        frame.add(someComponentes());
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }

    public static JPanel someComponents() {
        JPanel panel = new JPanel();
        panel.setLayout(new BorderLayout());

        JPanel secondPanel = new JPanel();
        secondPanel.setLayout(new BorderLayout());

        secondPanel.add(new JLabel("Verschachtelt Nord", JLabel.Center), BorderLayout.NORTH);
        secondPanel.add(new JLabel("Verschachtelt Süd", JLabel.Center), BorderLayout.SOUTH);
        secondPanel.add(new JLabel("Verschachtelt Ost", JLabel.Center), BorderLayout.EAST);
        secondPanel.add(new JLabel("Verschachtelt West", JLabel.Center), BorderLayout.WEST);
        secondPanel.add(new JLabel("Verschachtelt Center", JLabel.Center), BorderLayout.CENTER);

        panel.add(secondPanel, BorderLayout.CENTER);
        panel.add(new JLabel("Nord", JLabel.CENTER), BorderLayout.NORTH);
        panel.add(new JLabel("Süd", JLabel.CENTER), BorderLayout.SOUTH);
        panel.add(new JLabel("Ost", JLabel.CENTER), BorderLayout.EAST);
        panel.add(new JLabel("West", JLabel.CENTER), BorderLayout.WEST);

        return panel;
    }
}

Und nun noch zum MVC:

Prinzipiell läuft das so ab:
Die View teilt dem Controller mit, wenn der User etwas gemacht hat (z.B. Button geklickt),
worauf hin der Controller der View mitteilt, wie sie darauf reagieren soll. Gleichzeitig teilt
der Controller dem Model mit, wenn sich dadurch der Status verändert hat.
Wenn der Status sich verändert hat, teilt das Model dies der View.

Das heißt für addMovie() würde das ungefähr so aussehen:

View-----------------user klickt auf addMovie()------------>Controller
Controller------------öffne Menü für addMovie()------------>View
Controller------------Status addMovie()-------------------->Model
Model--------------- Status addMovie()-------------------->View

Konnte ich dir helfen oder ist was unklar?
 

HazelNut

Mitglied
Danke mal für die zahlreichen Antworten :=)

Ja, H2 habe ich mir bereits angeschaut, werde wohl diese verwenden.
Interessant wäre zu wissen wie ich sie automatisch starten kann?
Zur Zeit muss ich immer bei Netbeans unter Services auf die db gehen und diese connecten.
Kann ich das irgendwie im Code erledigen?
Das einzige was ich rausbekommen habe, das ich mir eine bat zum starten der db schreiben kann und diesse bat per Java ausführe.


BorderLayout kenne ich wohl, ich dachte mir das ich doch etwas dynamischeres benötige, wenn ich viele COmponents hinzufügen willl dann muss ich ja schon ziemlich viel mit den Panels rumspielen.

Wenn ich mir hier das Suche Fenster anschaue wird es wohl nicht so einfach mit BorderLayout zu realisieren sein?

Bei addMovie() geht es mir darum, dass ich ja einen Vector auch noch aktualisieren muss, um die Liste upzudaten. Dann wäre es wohl klug diese Methode in der GUI auszuführen oder? Weil es fällt mir nicht wirklich noch eine Klasse ein, in der ich das machen könnte, außer vielleicht im Controller.

Naja direkt nen Model habe ich ja nicht, mein Model ist in meinem Fall doch nur die db Klasse sowie die Liste von den Entrys.

Hier mal mein Grundgerüst.

attachment.php


Obwohl ich wohl die DataHolder rauswerfen werde, da ichs nicht einsehe eine eigene Klasse nur für eine List zu erstellen, schreibe dann alles in den Controller.

Und wie schauts mit meinem Datenbankdesign aus?
 

Anhänge

  • Klassendiagramm.jpg
    Klassendiagramm.jpg
    30,2 KB · Aufrufe: 67

HazelNut

Mitglied
Danke für die Antwort!
Bin aber selbst schon drauf gekommen :)

Was du mit Einarbeitungszeit meinst weis ich nicht. Ich finde es sehr einfach damit eine GUI zu erstellen.
Vor allem da alles so schön strukturiert ist.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Zrebna Fragen zu Testabdeckungs-Metriken Allgemeine Java-Themen 4
MarvinsDepression Unbekanntes Zeichen in fremden Code wirft Fragen auf Allgemeine Java-Themen 4
B HTTP Allgemeine Fragen über Suchmaschine nutzen mit Java Allgemeine Java-Themen 20
K BlueJ - Fragen zu dem Spiel Pacman (Nachprogrammieren) Allgemeine Java-Themen 141
V Ich hätte 2 Fragen Allgemeine Java-Themen 5
ME2002 Fragen aus einer Java Klausur Allgemeine Java-Themen 67
H Fragen zur Kraken Api Allgemeine Java-Themen 1
nonickatall Klassen Grundsätzliche Fragen zu geplanter Programmstruktur Allgemeine Java-Themen 5
W Ein paar Fragen zu .properties und .css Allgemeine Java-Themen 6
W Mal ein paar generelle Fragen zu InputStream und OutputStream Allgemeine Java-Themen 4
X Fragen zur Javamail API und Gmail Allgemeine Java-Themen 4
T Fragen bezgl. Lambdas Allgemeine Java-Themen 20
X Collections Fragen zu gleichen Elementen in TreeSet Allgemeine Java-Themen 35
A Neuerungen in Java 8 StreamAPI- Paar fragen Allgemeine Java-Themen 4
temi Fragen zur Software-Architektur Allgemeine Java-Themen 123
M Diverse Design-Fragen Allgemeine Java-Themen 6
J 2 Fragen zur Vererbung Allgemeine Java-Themen 5
H Java FX 2 Fragen um Programm in mehrere sprachen zu übersetzen in Gluon Framwork Allgemeine Java-Themen 3
M Fragen beantworten über Textfeldeingabe Allgemeine Java-Themen 5
D Grundsätzliche Fragen zum Heap Space Allgemeine Java-Themen 12
J Allgemeine Fragen zu Vererbung Allgemeine Java-Themen 1
M Allgemeine Fragen meinerseits Allgemeine Java-Themen 4
V Wie kann ich die Fragen mit den anderen Klassen verbinden? Allgemeine Java-Themen 1
J Fragen zu generischer doppelt verketteter Liste (bei fehlendem Grundverständnis) Allgemeine Java-Themen 1
R Es gibt keine dummen Fragen (hab ich mal gehört) Allgemeine Java-Themen 11
T Fragen zum Thread-Thema Allgemeine Java-Themen 4
2 2 Klein Fragen Allgemeine Java-Themen 7
alderwaran .jar Code Signing, User-Keystore und Fragen dazu Allgemeine Java-Themen 0
T Fragen zum Thread-Thema Allgemeine Java-Themen 9
A Java Theorie-Fragen Allgemeine Java-Themen 7
K Java QUIZ-Spiel Fragen und Antworten generieren?! Allgemeine Java-Themen 5
R Socket Fragen zu UDP Allgemeine Java-Themen 1
B Noob-Fragen zu Tablets und PC kompatiblität... Allgemeine Java-Themen 6
D Ein paar allgemeine Fragen zu Java Allgemeine Java-Themen 19
L Fragen für Facharbeit: Analyse von Strings in Java Allgemeine Java-Themen 4
R Fragen zu Server + UI Allgemeine Java-Themen 2
U Vier Fragen zu Java Allgemeine Java-Themen 2
D Fragen zum erstellen einer ausführbaren Jar Datei Allgemeine Java-Themen 3
C Polymorphie Fragen zur Annotations von Persistenz Allgemeine Java-Themen 2
O Fragen über Fragen - Bei Änderung XML-Datei -> Anpassung GUI Allgemeine Java-Themen 7
StrikeTom Java Performance Fragen Allgemeine Java-Themen 5
Luk10 Fragen zum ByteBuffer (lwjgl - icons) Allgemeine Java-Themen 2
F Akkumulator Hough-Transformation offene Fragen Allgemeine Java-Themen 4
Luk10 Fragen zu Naming-Conventions Allgemeine Java-Themen 5
Z Einige Fragen Allgemeine Java-Themen 10
T OOP Einige Fragen zu UML-Klassendiagrammen Allgemeine Java-Themen 6
G Einige Fragen zu ResourceBundles Allgemeine Java-Themen 2
S Fragen zu verschiedenen Themen vom JCreator Allgemeine Java-Themen 2
DStrohma Grundsätzliche Fragen zum Aufbau eines komplexeren Programmes Allgemeine Java-Themen 8
Semox Grapheneditor - Allgemeine Fragen zum Logikdesign Allgemeine Java-Themen 3
O kleine Fragen eines Anfängers Allgemeine Java-Themen 2
X Executor fragen ob fertig Allgemeine Java-Themen 13
nrg Swing 2 Fragen zu Swing/AWT Allgemeine Java-Themen 7
K Reflections Fragen Allgemeine Java-Themen 7
S Fragen zum SCJD-Zertifikat Allgemeine Java-Themen 2
M Backend Entwicklung - Konzept fragen Allgemeine Java-Themen 3
E Fragen zu Scala Allgemeine Java-Themen 11
Daniel_L Fragen zu RegEx und URL umwandeln Allgemeine Java-Themen 4
J Diverse Fragen bezüglich Jasper Allgemeine Java-Themen 3
S Fragen zum ShutdownHook Allgemeine Java-Themen 7
V Fragen zu einem Java Browser Allgemeine Java-Themen 7
G Fragen zum eigenen Scheduler Allgemeine Java-Themen 4
M Drag and Drop: 3 Fragen Allgemeine Java-Themen 3
L Einige Fragen zu Java Allgemeine Java-Themen 9
F Linguistische Fragen zu Javadoc bzw. Englisch Allgemeine Java-Themen 4
E Einfache Fragen zu Dateien Allgemeine Java-Themen 7
E Thread Fragen in Verbindung mit Swing Allgemeine Java-Themen 4
M MVC Design Pattern - Verständniss Fragen Allgemeine Java-Themen 3
X Einige Fragen zu Serialisierung Allgemeine Java-Themen 2
H Java Multiplicoice Test (10 Fragen) Allgemeine Java-Themen 11
J Viele Fragen. =) Hoffentlich könnt ihr helfen Allgemeine Java-Themen 9
D Grundsätzliche Fragen zur Grafikdarstellung in Spielen Allgemeine Java-Themen 2
J 2 Fragen zu JMF und eine Rechtsfrage Allgemeine Java-Themen 3
S Viele Fragen eines Umsteigers (von .NET) Allgemeine Java-Themen 6
C LinkedList Fragen Allgemeine Java-Themen 7
P Fragen zur JBuilder und den kosten. Allgemeine Java-Themen 7
reibi JVM fragen welche Apps geladen sind Allgemeine Java-Themen 7
I Fragen zum Internetseiten Einlesen/Auswerten Allgemeine Java-Themen 5
F Paket und Software Design Fragen. Allgemeine Java-Themen 5
S 2 Fragen allgemeine fragen zu final und interface Allgemeine Java-Themen 13
M ein paar fragen über JBoss und Catalina Allgemeine Java-Themen 7
D Allgemeine Fragen zum Speichern Allgemeine Java-Themen 3
F allgemeine Fragen zu Java Allgemeine Java-Themen 9
S Fragen zu 4 speziellen Listen Allgemeine Java-Themen 4
U JFrame, JOptionPane - vor dem Schließen Benutzer fragen Allgemeine Java-Themen 10
I zwei simple fragen Allgemeine Java-Themen 22
G 2 Fragen Allgemeine Java-Themen 7
G Fragen zu ausführbaren JAR Files Allgemeine Java-Themen 23
G Fragen zu JTextField bzw. JTextArea Allgemeine Java-Themen 2
J 5 Fragen. Allgemeine Java-Themen 2
P Tausend Fragen... Allgemeine Java-Themen 3
C Probleme beim Erstellen eines runnable-jar files Allgemeine Java-Themen 1
S Umstellung von File auf Path - Probleme mit Stream Allgemeine Java-Themen 5
C Probleme mit javax.mail.Session Allgemeine Java-Themen 8
M tomcat probleme Allgemeine Java-Themen 1
N Division macht Probleme Allgemeine Java-Themen 14
B Java Reflection Probleme beim wehcselseitigen Referenzieren zweier Klassen/Objekte Allgemeine Java-Themen 14
MarvinsDepression Probleme mit relativem Dateipfad Allgemeine Java-Themen 1
G Geotools Probleme nach PC-Wechsel Allgemeine Java-Themen 6
nibe1501 GUI Probleme Allgemeine Java-Themen 16

Ähnliche Java Themen

Neue Themen


Oben