[Java] Een Applicatie Reloaden / Refreshen

Pagina: 1
Acties:

  • Triumph-Design
  • Registratie: Februari 2004
  • Laatst online: 25-11-2025
Hello,

Ik ben bezig met het schrijven van een applicatie in java die in connectie staat met een SQL database.

Het is een applicatie die een database showed van je eigen verzameling DVD's, het moet kunnen showen, toevoegen, bewerken, verwijderen en zoeken etc.

Ik ben al een heel eind. Ik kan via de applicatie gewoon Films toevoegen etc.

Mij GUI zit zo in elkaar:
http://213.84.84.88/gui.jpg

Maar als ik dus bijvoorbeeld naar het tabblad "Toevoegen" ga en daar een Acteur toevoeg, werkt dat, dat kan ik direct zien in de database zelf, maar dan mijn probleem: De nieuwe records worden niet direct opgenomen in mn comboboxen e.a. die op dezelfde of andere tabbladen zitten.
In HTML/PHP kan je dat oplossen door gewoon je pagina te refreshen eigenlijk, maar in JAVA weet ik de oplossing niet.

Als ik een gedeelte code moet geven, tell me dan zal ik dat als verduidelijking er bij doen maar misschien is er wel een hele snelle / makkelijke oplossing voor dit probleem?

Bedankt iig,

  • MrBucket
  • Registratie: Juli 2003
  • Laatst online: 29-10-2022
Hoe komt de informatie vanuit de database uberhaupt in je GUI terecht? Maak je gebruik van speciale database GUI-controls, die een binding hebben met een bepaalde record uit je database?

Zo niet, dan lijkt me het handigst om gewoon een functie te schrijven die de inhoud van zo'n combobox opnieuw inleest vanuit de database. Deze functie kan je dan aanroepen meteen nadat er ergens anders in je applicatie een nieuwe waarde aan de relevante tabel is toegevoegd (dus bv. onder de "Voeg acteur toe" knop).

Lijkt me een niet al te slechte oplossing, maar ik ben benieuwd of de doorgewinterde coders er ook zo over denken :)

[ Voor 55% gewijzigd door MrBucket op 05-04-2005 22:14 ]


  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 20:41
Ik weet niet hoe je klassen en dergelijke met elkaar in contact staan, maar ik kan me goed voorstellen dat je een of andere update() methode aanroept, welke er weer voor zorgt dat er een nieuwe gegevens worden gefetched uit de database, nadat je een nieuw record hebt toegevoegd. Hangt er een beetje vanaf hoe en waar je de gegevens die in die comboboxen staan hebt opgeslagen.

  • Triumph-Design
  • Registratie: Februari 2004
  • Laatst online: 25-11-2025
Sybr_E-N schreef op dinsdag 05 april 2005 @ 22:11:
Ik weet niet hoe je klassen en dergelijke met elkaar in contact staan, maar ik kan me goed voorstellen dat je een of andere update() methode aanroept, welke er weer voor zorgt dat er een nieuwe gegevens worden gefetched uit de database, nadat je een nieuw record hebt toegevoegd. Hangt er een beetje vanaf hoe en waar je de gegevens die in die comboboxen staan hebt opgeslagen.
Dit is precies wat ik wil ja maar kan iemand een klein voorbeeldje in code geven met bedachte klassen ?

  • nxt
  • Registratie: November 2001
  • Laatst online: 04-02 09:36

nxt

Zo te zien gebruik je al swing. Meestal hebben swing componenten wel een model. Standaard wordt er een voor je aangemaakt, maar je kan er ook zelf eentje opgeven, kijk voor een voorbeeld voor de JComboBox hier. Het voordeel van het gebruiken van een eigen model is dat je je model kunt updaten waarna je combobox de nieuwe waardes bevat.
Het is ook handig om te kijken naar de default implementatie (bijv. voor de jcombobox is dat DefaultComboBoxModel) de functionaliteit deels overnemen of de class extenden en jezelf zo een hoop werk besparen.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Swing Models zijn View Models.. View Models zijn in principe niets anders dan een Adapter naar je eigen model.. Dus je hebt niet genoeg aan alleen een view model :)

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 08-05 18:46

Gerco

Professional Newbie

Ik moet zeggen dat ik er al een tijdje uit ben (Java en proper objectgeorienteerd design), maar ik zie hier wel een kans in voor het Observer - Observable pattern.

Je maakt van elke table een object wat de data access regelt voor die table en zodra er iets in die table gebeurt roept dat object notifyObservers(). Alle observers (je combo, andere controls die graag willen weten wanneer er iets verandert), registreren zichzelf bij de observable (je table object) en krijgen zo de updates door. Als ze een update() krijgen, halen ze de waarden opnieuw op en zo zijn je gegevens altijd compleet.

Hoe die methods precies heten weet ik niet meer, Java heeft iig ergens in de library prefab classes en interfaces waarmee je dit kunt doen. Ik neem aan dat je in je lessen hierover gehoord hebt, wij kregen er iig wel wat over te horen vlak voordat we een opdracht kregen die hier wel wat van weghad.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Alarmnummer: Swing Models zijn View Models.. View Models zijn in principe niets anders dan een Adapter naar je eigen model..
Fraai geformuleerd. Ik was de opmerking dat Swing modelllen view modellen zijn nog niet in deze vorm tegengekomen (maar dat kan komen doordat ik er weinig meer mee doe :o ).
Dus je hebt niet genoeg aan alleen een view model :)
Heb je voor de topicstarter en mij nog een link naar een goed boek/artikel hoe je dan je eigen modellen goed kan implementeren en hoe je Swing modellen de rol van adapter kan laten vervullen? Ik zette vroeger ook zo m'n applicaties op, maar ik kon toendertijd nooit goede bronnen vinden die deze aanpak echt goed beschreven. Ik ben wel benieuwd of die er ondertussen wel zijn.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • FendtVario
  • Registratie: Januari 2002
  • Laatst online: 12-05-2025

FendtVario

The leader drives Vario!

Kijk eens naar de How to... use Swing components in de Sun tutorial. Voor de combo's, lijsten en grid staat daar een lichte inleiding op de modellen die achter de componenten schuil gaan.

www.fendt.com | Nikon D7100 | PS5

Pagina: 1