Deze vraag heb ik twee dagen geleden ook al geplaatst met het gevolg dat de thread gesloten werd. Ik begrijp nu waarom de verwarring is ontstaan in die thread.
Het programmeren in Apptivy is niet hetzelfde als in JBuilder of dergelijke java compilers. De reden dat ik apptivity gebruik is dat mij dat opgedragen is van mijn docent. Ik heb in de tussentijd ( tussen vandaag en twee dagen gelden) meerdere tutorials doorgelopen en de voorbeelden die daar gegeven werden waren allemaal niet van toepassing. Hiervoor mijn excuses voor de opgelopen irritatie van mijn kant over het niet werken van de gegeven voorbeelden.
Ook werd er geklaagd dat ik slechte variable namen gebruikte, als je in apptivity een window aaamaakt hernoemt hij die op numerieke volgorde, hetzelfde met de forms.
Probleemomschrijving:
Wat ik wil doen is een pop-up window sluiten

Door het drukken van deze knop word window2 geopend en automatisch form2 in window2(Form 2 is het enige window)
code window2
Volgens mij moet ik in de class window2 een methode zetten om deze te kunnen sluiten. Wat ik bijvoorbeeld geprobeerd heb in de zelfaangemaakte methode is: Dispose().Krijg de foutmelding dat er geen statische referentie aangemaakt mag worden.
of
This.Dispose(). Foutmelding: Unknown variabele.
En in form2 refereren naar die methode.
code form2

Hoop dat iemand apptivity een beetje kent, ik kan er namelijk ook weinig over vinden op internet.
Het programmeren in Apptivy is niet hetzelfde als in JBuilder of dergelijke java compilers. De reden dat ik apptivity gebruik is dat mij dat opgedragen is van mijn docent. Ik heb in de tussentijd ( tussen vandaag en twee dagen gelden) meerdere tutorials doorgelopen en de voorbeelden die daar gegeven werden waren allemaal niet van toepassing. Hiervoor mijn excuses voor de opgelopen irritatie van mijn kant over het niet werken van de gegeven voorbeelden.
Ook werd er geklaagd dat ik slechte variable namen gebruikte, als je in apptivity een window aaamaakt hernoemt hij die op numerieke volgorde, hetzelfde met de forms.
Probleemomschrijving:
Wat ik wil doen is een pop-up window sluiten
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| import java.applet.*; import java.net.*; import java.text.*; import jdbc.math.*; import jdbc.sql.*; import progress.apptivity.client.*; import progress.apptivity.igui.*; import progress.apptivity.igui.bean.*; import progress.apptivity.bean.*; import progress.apptivity.bean.util.*; import com.indius.base.*; import netscape.application.*; public class Form3 extends abForm { public boolean OnMouseDownbutton1 (MouseEvent ev) { Window2 w2 = new Window2(theApp(), ""); w2.init(); w2.setTitle(w2.m_strCaption); w2.showModally(); return(false); } |

Door het drukken van deze knop word window2 geopend en automatisch form2 in window2(Form 2 is het enige window)
code window2
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
| class Window2 extends abExternalWindow { public Window2(abEnv env, String name) { super(env, name); } public void init() { //$BEGIN_CREATE_OBJECTS m_Form2 = new Form2(theApp(), "Form2"); m_Form2.setHorizResizeInstruction(View.WIDTH_CAN_CHANGE); m_Form2.setVertResizeInstruction(View.HEIGHT_CAN_CHANGE); //$END_CREATE_OBJECTS // Code to customize member objects goes here //$BEGIN_INIT_OBJECTS m_Form2.init(); Rect _prefSize = m_Form2.getBounds(); Size _winSize = windowSizeForContentSize(_prefSize.width, _prefSize.height); sizeTo(_winSize.width, _winSize.height); addSubview(m_Form2); center(); //$END_INIT_OBJECTS } public void performCommand(String command, Object arg) { //$BEGIN_DISPATCH_EVENTS //$END_DISPATCH_EVENTS super.performCommand(command, arg); } public boolean update( Object observed, Object arg ) { return super.update(observed, arg); } public static void schermsluiten() { //Dit is de zelfaangemaakte methode } //$BEGIN_DECLARE_OBJECTS Form2 m_Form2; public String m_strCaption = "Window2"; //$END_DECLARE_OBJECTS } |
Volgens mij moet ik in de class window2 een methode zetten om deze te kunnen sluiten. Wat ik bijvoorbeeld geprobeerd heb in de zelfaangemaakte methode is: Dispose().Krijg de foutmelding dat er geen statische referentie aangemaakt mag worden.
of
This.Dispose(). Foutmelding: Unknown variabele.
En in form2 refereren naar die methode.
code form2
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
| public class Form2 extends abForm { public boolean OnMouseDownbuttonsluiten (MouseEvent ev) { //referentie naar de methode in window2 return(false); } public Form2(abEnv env, String name) { super(env, name); m_formContent = (abContainerView) contentView(); } public void init() { super.init(); setFont(new Font("DialogInput", Font.PLAIN, 14)); //$BEGIN_CREATE_OBJECTS contentView().sizeTo(abUtil.lp2dp(3134), abUtil.lp2dp(2110)); Font abDefaultFont = new Font("Helvetica", Font.PLAIN, 12); ((abContainerView)contentView()).setBackgroundColor(Color.lightGray); buttonsluiten = new abButton(theApp(), "sluiten"); buttonsluiten.setFont(abDefaultFont); addObj(buttonsluiten, 1L, Color.lightGray, Color.black, 625, 1250, 2000, 625); buttonsluiten.setCommand(abGUIConst.ACTION); buttonsluiten.setTarget(this); //$END_CREATE_OBJECTS // Code to customize data-bound controls goes here //$BEGIN_INIT_OBJECTS buttonsluiten.registerListener ( new abEventAdapter() { public boolean mouseDown(MouseEvent e) { return OnMouseDownbuttonsluiten(e); } } ); sizeTo(contentView().bounds().width + border().widthMargin(), contentView().bounds().height + border().heightMargin()); //$END_INIT_OBJECTS } public void performCommand(String command, Object arg) { //$BEGIN_DISPATCH_EVENTS //$END_DISPATCH_EVENTS super.performCommand(command, arg); } public boolean update( Object observed, Object arg ) { return super.update(observed, arg); } private final void addObj(abI_Controllable comp, long tabPos, Color bg, Color fg, int x, int y, int w, int h) { Rect r = new Rect( abUtil.lp2dp(x),abUtil.lp2dp(y),abUtil.lp2dp(w),abUtil.lp2dp(h) ); control().addObj(comp, (int)tabPos, bg, fg, r); } //$BEGIN_DECLARE_OBJECTS abButton buttonsluiten; public String m_strCaption = "Form2"; //$END_DECLARE_OBJECTS abContainerView m_formContent; } |

Hoop dat iemand apptivity een beetje kent, ik kan er namelijk ook weinig over vinden op internet.