» »

[java] Forme

[java] Forme

Beezgetz ::

Živijo SloTech,

Izdelujem aplikacijo, neke vrste kalkulator, in na neki točki je potrebno uredit neke vnose, torej spremenljivke (String, double). Te uredim tako, da s pritiskom na gumb na 'glavnem' oknu, odprem novo, manjše okno, glavno okno pa izgubi možnost 'fokusiranja' (torej ne poznam terminologije), ne da se po njemu klikat, ker je zdaj malo okno aktivno. V Malem oknu se izpišejo stari podatki, katere lahko tu zdaj uredim, spremenim. Ko končam z urejanjem se malo okno zapre, ter glavno okno dobi fokus (ali kaj?).

Imam dve vprašanji.
Kako naredim, da se mi prikaže novo okno, ter da hkrati glavno okno 'nima fokusa', dokler se to novo okno ne 'ugasne'?
Ter, kako prenesem spremenljivke (String, double) iz glavne forme v novo formo, ter obratno, kako prenesem spremenljivke iz nove forme nazaj v glavno formo?


No, nekaj sem že naredil, in sicer novo formo EditGridLoadFrame, ter v njej deklariral spremenljivki String in double.
EditGridLoadFrame:


//1
private String _imeloada;
public void SetEditingName(String name) {
_imeloada = name;
}

public String GetEditingName() {
return _imeloada;
}


//2
private double _weight;
public void SetEditingWieght(double number) {
_weight = number;
}

public double GetEditingWeight() {
return _weight;
}


Tako v bistvu lahko v samem 'eventu' iz glavne forme podam vrednost spremenljivk novi formi.
Glavna forma (ustvarjanje nove forme in podajanje podatkov):

EditGridLoadFrame
EGLF = new EditGridLoadFrame(); EGLF.SetEditingName(name);
EGLF.SetEditingWieght(weight);
EGLF.setVisible(true);

Toda kako zdaj poslat podatke nazaj v glavno formo? Pa ta način ne ustavi izvajanje kode glavnega okna, pa še marsikaj je najbrž narobe...

Kar želim narest si lahko ogledate tukaj. V tretjem videu (Truss calculator), v 1. minuti 27 sec. ko kliknem na Edit button.

Mislim, da nisem preveč zakompliciral...


Lep pozdrav, Beezgetz

kopernik ::

Če te prav razumem, govoriš o modalnih oknih oz. dialogih. Osnove si poglej tukaj.


Toda kako zdaj poslat podatke nazaj v glavno formo? Pa ta način ne ustavi izvajanje kode glavnega okna, pa še marsikaj je najbrž narobe...


Jih ne "pošlješ" nazaj, temveč v glavni formi prebereš podatke iz dialoga, ko se le-ta zapre. Nekaj v tem smislu (napol pseudo koda):

MojDialog mojDialog = new MojDialog();
mojDialog.setEditingName("Blabla");
...
if(mojDialog.show() == MojeKonstante.BUTTON_OK)
{
String editingName = mojDialog.getEditingName();
...
}

Zgodovina sprememb…

  • spremenil: kopernik ()

Beezgetz ::

To mi deli Kopernik! Hvala, ravno to sem potreboval.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

C# povezava forma in classa

Oddelek: Programiranje
172340 (1803) Miko55
»

C#, TextBox in PopUp forma

Oddelek: Programiranje
61103 (997) MarCar
»

C# Pomoč

Oddelek: Programiranje
131400 (1225) jizzer
»

C# okna in podokna

Oddelek: Programiranje
111652 (1246) FlashM
»

[VB2005Pro]Zapiranje in še Eno uprasanje

Oddelek: Programiranje
81134 (1067) UltraTX

Več podobnih tem