Code in de de constructor:
Code in een aparte method:
Voor een rekenmachientje wil ik de M+ (memory) knop laten oplichten als deze value heeft. Nu zit ik al
een hele tijd te klooien maar ik krijg het niet voor elkaar. Ik verwijs in method memoryStuff naar de components array. Deze roept dan getcomponents op van het panel wat ik in de constructor heb gemaakt.
Maar hij krijgt geen access tot die p1, zet ik twee regels (met //--->) gewoon onderaan de constructor werkt het wel. Ik ben geen java held, dus mss is het iets simpels...
code:
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
| public Calculator() { setLayout(new BorderLayout()); display.setEditable(false); add(display, "North"); JPanel p1 = new JPanel(); GridLayout grid1 = new GridLayout(4, 6); p1.setLayout(grid1); JPanel p2 = new JPanel(); GridLayout grid2 = new GridLayout(1, 3); //grid.setHgap(10); p2.setLayout(grid2); //Rij 1 buttonTextGrid1[0] = "MC"; buttonTextGrid1[1] = "7"; buttonTextGrid1[2] = "8"; buttonTextGrid1[3] = "9"; buttonTextGrid1[4] = "/"; buttonTextGrid1[5] = "sqrt"; //Rij 2 buttonTextGrid1[6] = "MR"; buttonTextGrid1[7] = "4"; buttonTextGrid1[8] = "5"; buttonTextGrid1[9] = "6"; buttonTextGrid1[10] = "*"; buttonTextGrid1[11] = "%"; //Rij 3 buttonTextGrid1[12] = "M-"; buttonTextGrid1[13] = "1"; buttonTextGrid1[14] = "2"; buttonTextGrid1[15] = "3"; buttonTextGrid1[16] = "-"; buttonTextGrid1[17] = "1/x"; //Rij 4 buttonTextGrid1[18] = "M+"; buttonTextGrid1[19] = "0"; buttonTextGrid1[20] = "+/-"; buttonTextGrid1[21] = "."; buttonTextGrid1[22] = "+"; buttonTextGrid1[23] = "="; //Rij 5 buttonTextGrid2[0] = "Backspace"; buttonTextGrid2[1] = "CE"; buttonTextGrid2[2] = "C"; for (int i = 0; i < buttonTextGrid1.length; i++) { JButton b = new JButton(buttonTextGrid1[i]); b.setName(buttonTextGrid1[i]); p1.add(b); b.addActionListener(this); } for (int i = 0; i < buttonTextGrid2.length; i++) { JButton b = new JButton(buttonTextGrid2[i]); p2.add(b); b.addActionListener(this); } add(p1, "Center"); add(p2, "South"); } |
Code in een aparte method:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| private void memoryStuff(double tR) { //Routines voor memory if (memoryOperator.equals("M+")) { memoryBank += tR; //light up memorybutton if != 0 if(memoryBank != 0) { //Ik krijg dit helaas niet werkend. Als ik dit onderaan de constructor zet werkt het //prima maar het moet natuurlijk hier werken op het moment dat memory value heeft. //Ik zou zeggen dat memoryStuff toegang heeft tot components? //---> Component[] components = p1.getComponents(); //---> components[18].setBackground(Color.red); } } } |
Voor een rekenmachientje wil ik de M+ (memory) knop laten oplichten als deze value heeft. Nu zit ik al
een hele tijd te klooien maar ik krijg het niet voor elkaar. Ik verwijs in method memoryStuff naar de components array. Deze roept dan getcomponents op van het panel wat ik in de constructor heb gemaakt.
Maar hij krijgt geen access tot die p1, zet ik twee regels (met //--->) gewoon onderaan de constructor werkt het wel. Ik ben geen java held, dus mss is het iets simpels...