Java Pass variabelen mee naar new window

Pagina: 1
Acties:

  • mrFoce
  • Registratie: Augustus 2004
  • Laatst online: 08-05 18:30
Ik zit met een probleem.. En dat is dat ik er maar niet achterkom hoe ik een variable kan doorgeven aan een 'nieuw geopend' scherm. ( heb op GOT, google gezocht en aardig wat uurtjes dingen geprobeerd maar helaas Ik werk met Sun One Studio 4 - school opdracht he ;) )

Ziehier het hoofdscherm ( hier zit het probleem nog niet )
Afbeeldingslocatie: http://www.eurodance.us/gideon/Image1.gif

Vervolgens klik ik op bekijken. De cd's worden uit de database table geladen en in de listboxes gestopt. ( hier zit het probleem ook nog niet )
Afbeeldingslocatie: http://www.eurodance.us/gideon/Image2.gif

Als je nu een CD selecteerd, en op Bekijken drukt. Opent die dit venster
Afbeeldingslocatie: http://www.eurodance.us/gideon/Image3.gif

Het probleem is, hoe geef ik de 'ID' van een cd ( plaatje 2 ) door aan bovenstaand scherm. Dit krijg ik met geen mogelijk voor elkaar..( de ID wil ik meegeven omdat ik met die ID de juiste cd uit de database kan trekken. Maar de database is het probleem niet.. Het is de variabele doorgeven aan een nieuw scherm..

Scherm wordt zo geopend

public void OpenNewCdItem(){
new BekijkScherm(this).show();
}

Short versie: Hoe paas ik een variable mee naar een nieuw te openen scherm.

bedankt voor de hulp alvast.
Gideon

  • NetForce1
  • Registratie: November 2001
  • Laatst online: 23-03 10:29

NetForce1

(inspiratie == 0) -> true

via de constructor :?
Java:
1
2
3
4
public void openNewCdItem (int cdId)
{
    new BekijkScherm(this, cdId).setVisible(true);
}


side-notes:
- Methodenamen worden over het algemeen in java met een kleine letter begonnen
- .show() is deprecated, gebruik .setVisible(true)

De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"


  • mrFoce
  • Registratie: Augustus 2004
  • Laatst online: 08-05 18:30
ik dacht al zoiets.. Alleen als ik jou code probeer in sun one studio ( het programma dat we moeten gebruiken van school ) krijg ik een foutmelding

SchoolCD/MainFuncties.java [71:1] cannot resolve symbol
symbol : constructor BekijkScherm (SchoolCD.MainFuncties,int)
location: class SchoolCD.BekijkScherm
new BekijkScherm(this, cdID).setVisible(true);
^

en aangezien ik een beginner ben weet ik ook niet precies hoe of wat. Maar als ik

code:
1
2
3
  public void openNewCdItem (int cdID) {
        new  BekijkScherm(this).setVisible(true);
    }


dat ervan maak. Geeft die geen errors bij het compilen.. Ik haal dus die constructor weg en geen errors.

Verwijderd

gideon82 schreef op maandag 17 januari 2005 @ 23:45:
ik dacht al zoiets.. Alleen als ik jou code probeer in sun one studio ( het programma dat we moeten gebruiken van school ) krijg ik een foutmelding

SchoolCD/MainFuncties.java [71:1] cannot resolve symbol
symbol : constructor BekijkScherm (SchoolCD.MainFuncties,int)
location: class SchoolCD.BekijkScherm
new BekijkScherm(this, cdID).setVisible(true);
^

en aangezien ik een beginner ben weet ik ook niet precies hoe of wat. Maar als ik

code:
1
2
3
  public void openNewCdItem (int cdID) {
        new  BekijkScherm(this).setVisible(true);
    }


dat ervan maak. Geeft die geen errors bij het compilen.. Ik haal dus die constructor weg en geen errors.
Als je de fout bekijkt dan kan je inzien wat de fout nou betekent. Hij zegt dat hij die constructor niet kent. Je wilt 2 parameters geven aan een constructor maar er is geen constructor die 2 parameters wilt ontvangen.Je moet dus je bestaande constructor aanpassen, of een nieuwe constructor toevoegen die wel 2 parameters wilt ontvangen:

Java:
1
2
3
public BekijkScherm(SchoolCD.MainFuncties caller, int id) {
    // verdere inhoud constructor
}


Op deze manier kan je 2 argumenten meegeven aan de constructor. Hoe wist je eigenlijk dat je this moest meegeven aan de constructor, stond dat in je boek ofzo? Anders had je zelf wel kunnen bedenken dat je de constructor aan moest passen :)

  • NetForce1
  • Registratie: November 2001
  • Laatst online: 23-03 10:29

NetForce1

(inspiratie == 0) -> true

Je moet wel de constructor van BekijkScherm aanpassen. Bijv:
Java:
1
2
3
4
public BekijkScherm (SchoolCD.MainFuncties parent, int cdId)
{
  //doe hier iets met cdId;
}

Het lijkt me btw wel handig als je even eea naleest in je boek, want ik heb het idee dat je nog niet helemaal weet wat een constructor eigenlijk is.

[ Voor 5% gewijzigd door NetForce1 op 17-01-2005 23:57 . Reden: argument constructor was niet helemaal juist ]

De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"


  • mrFoce
  • Registratie: Augustus 2004
  • Laatst online: 08-05 18:30
Nou, het zit zo.. Het is een project met school.. En die lessen zijn bagger gegeven.. En aangezien t Hbo niveau is zijn ze bij mij op school al snel zo van zoek het maar uit. Dus tjah.. ben nog blij dat ik wat kennis heb van php / vb.net zodat ik iig een beetje vooruit kom....

Ik wist dat ik this moest meegeven, omdat ik een voorbeeld van school heb gevolgd en het daarin op dezelfde manier werd gedaan..

En wat jullie nu zeggen is mij dus helemaal nooit verteld.. Maar ik zal het testen en dan dit bericht editen..

iig bedankt voor alle reacties _/-\o_

edit: Mijn dank ik groot.. Dit werkt inderdaad _/-\o_ _/-\o_ _/-\o_ weer een stap verder.. en weer wat geleerd in Java.. Dank dank :) :)

[ Voor 42% gewijzigd door mrFoce op 18-01-2005 00:41 ]

Pagina: 1