Ik ben momenteel bezig met een opdracht voor school, ik heb een klasse Hotel en een klasse Kamer en een Applet. In de klasse hotel wordt een vector aangemaakt die bij het constructen leeg moet zijn. in myInit() in de applet klasse wil ik kamers toevoegen aan mijn hotelletje. Van te voren word in het applet een hotel gecreeerd en 2 vectoren die in mijn applet verwerkt worden in 2 JLists. In de ene vector moet de vrije kamers komen en in de andere de bezette. In de vector die wordt aangemaakt bij het hotel staan alle kamers. Die twee verschillende JLists doen er momenteel voor mij niet toe, het gaat mij erom dat ik de kamers die ik toevoeg in mijn JList krijg. Alleen ik krijg constant een NullPointerException.
Ik las ergens dat je Vector niet moet gebruiken en dat zou ik normaal ook niet doen, maar dit moest van de leraar.
Ik las ergens dat je Vector niet moet gebruiken en dat zou ik normaal ook niet doen, maar dit moest van de leraar.
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
71
72
73
74
75
| package hotelunovectoro;
import java.util.Vector;
class Hotel
{
private String naam;
private String plaats;
private Vector kamers; //moet eigelijk private zijn
public Hotel(String naam,String plaats)
{
this.naam=naam;
this.plaats=plaats;
Vector kamers = new Vector();
//kamers.clear();
}
public Hotel()
{
}
public Hotel(String filename)
{
this(); //Moet hetzelfde doen als de default constructor
}
public Kamer getKamer(int knr)
{
for(int i=0;i<kamers.size();i++)
{
if (((Kamer)kamers.elementAt(i)).getKamernummer()==knr)
return (Kamer)kamers.elementAt(i);
}
return null;
}
public void voegKamerToe(int knr,int cap)
{
int i=0;
boolean exists=false;
while (i<kamers.size())
{
if (((Kamer)kamers.elementAt(i)).getKamernummer()==knr)
exists=true;
else
i++;
}
if (exists==false)
kamers.addElement(new Kamer(knr, cap));
}
public void verwijderKamer(int knr)
{
int i=0;
while(i<kamers.size())
{
Kamer checkkamer=(Kamer)kamers.elementAt(i);
if (checkkamer.getKamernummer()==knr)
kamers.removeElementAt(i);
else
i++;
}
}
public Vector getKamers()
{
return this.kamers;
}
public String toString()
{
return naam + ", gevestigd te " + plaats;
}
} |
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
| package hotelunovectoro;
class Kamer
{
public Kamer() {
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
}
private int kamernummer;
private int capaciteit;
private int aantalGasten;
public Kamer(int kamernummer,int cap)
{
this.kamernummer=kamernummer;
this.capaciteit=cap;
this.aantalGasten=0;
}
public int getKamernummer()
{
return kamernummer;
}
public int getCapaciteit()
{
return capaciteit;
}
public int getAantalGasten()
{
return aantalGasten;
}
public boolean isVrij()
{
return (aantalGasten==0);
}
public void setAantalGasten(int i)
{
aantalGasten=i;
}
public String toString()
{
return "kamernr " + kamernummer + ", cap "+capaciteit +
" en aantal gasten " + aantalGasten;
}
private void jbInit() throws Exception {
}
} |
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
| package hotelunovectoro;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
import java.util.Vector;
public class HotelApplet extends JApplet
{
private Hotel hotel = new Hotel("Hotel Uno Vectoro","Uden");
//Vector VrijeKamer = new Vector();
//Vector BezetteKamer = new Vector();
boolean isStandalone = false;
BorderLayout borderLayout1 = new BorderLayout();
JList JListBezet = new JList();
JList JListVrij = new JList();
JLabel JLabelBezet = new JLabel();
JLabel JLabelVrij = new JLabel();
JTextField JTextFieldInfo = new JTextField();
JButton JButtonReserveer = new JButton();
JButton JButtonGeefVrij = new JButton();
JLabel JLabelKamerNR = new JLabel();
JLabel JLabelAantalGasten = new JLabel();
JButton JButtonVoegKamerToe = new JButton();
JButton JButtonVerwijder = new JButton();
JLabel jLabel1 = new JLabel();
JTextField JTextFieldKnr = new JTextField();
JTextField JTextFieldCap = new JTextField();
JTextField JTextFieldAantalGasten = new JTextField();
JLabel JLabelKnr = new JLabel();
JLabel JLabelCap = new JLabel();
JLabel JLabelGasten = new JLabel();
JTextField JTextFieldKamerNummer = new JTextField();
JTextField jTextFieldAantal = new JTextField();
//Get a parameter value
public String getParameter(String key, String def) {
return isStandalone ? System.getProperty(key, def) :
(getParameter(key) != null ? getParameter(key) : def);
}
//Construct the applet
public HotelApplet() {
}
//Initialize the applet
public void init()
{
try
{
jbInit();
myInit();
}
catch (Exception e)
{
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception
{
this.setSize(new Dimension(640, 480));
this.getContentPane().setLayout(null);
JListBezet.setBounds(new Rectangle(196, 46, 152, 218));
JListVrij.setBounds(new Rectangle(29, 47, 152, 218));
JLabelBezet.setText("bezet");
JLabelBezet.setBounds(new Rectangle(244, 29, 34, 13));
JLabelVrij.setText("vrij");
JLabelVrij.setBounds(new Rectangle(87, 28, 34, 15));
JTextFieldInfo.setBounds(new Rectangle(364, 38, 260, 21));
JButtonReserveer.setBounds(new Rectangle(365, 82, 166, 25));
JButtonReserveer.setText("Reserveer kamer");
JButtonGeefVrij.setBounds(new Rectangle(361, 176, 171, 25));
JButtonGeefVrij.setText("Geef kamer vrij");
JLabelKamerNR.setText("kamernr");
JLabelKamerNR.setBounds(new Rectangle(366, 114, 94, 15));
JLabelAantalGasten.setText("aantal gasten");
JLabelAantalGasten.setBounds(new Rectangle(360, 207, 114, 15));
JButtonVoegKamerToe.setBounds(new Rectangle(30, 298, 133, 25));
JButtonVoegKamerToe.setText("Voeg kamer toe");
JButtonVerwijder.setBounds(new Rectangle(199, 298, 147, 25));
JButtonVerwijder.setText("Verwijder kamer");
jLabel1.setText("Hotel Uno Vectoro, gevestigd te Uden");
jLabel1.setBounds(new Rectangle(52, 11, 305, 15));
JTextFieldKnr.setBounds(new Rectangle(43, 372, 57, 21));
JTextFieldCap.setText("");
JTextFieldCap.setBounds(new Rectangle(146, 372, 57, 21));
JTextFieldAantalGasten.setText("");
JTextFieldAantalGasten.setBounds(new Rectangle(249, 372, 57, 21));
JLabelKnr.setText("Kamernummer");
JLabelKnr.setBounds(new Rectangle(37, 351, 97, 15));
JLabelCap.setText("Capaciteit");
JLabelCap.setBounds(new Rectangle(143, 354, 93, 15));
JLabelGasten.setText("Aantal gasten");
JLabelGasten.setBounds(new Rectangle(239, 353, 118, 15));
JTextFieldKamerNummer.setText("");
JTextFieldKamerNummer.setBounds(new Rectangle(364, 137, 167, 21));
jTextFieldAantal.setBounds(new Rectangle(361, 230, 174, 21));
jTextFieldAantal.addActionListener(new HotelApplet_jTextField1_actionAdapter(this));
this.getContentPane().add(JListVrij);
this.getContentPane().add(JListBezet);
this.getContentPane().add(JLabelVrij);
this.getContentPane().add(JLabelBezet);
this.getContentPane().add(JTextFieldInfo);
this.getContentPane().add(JButtonReserveer);
this.getContentPane().add(JButtonVoegKamerToe);
this.getContentPane().add(jLabel1);
this.getContentPane().add(JTextFieldKnr);
this.getContentPane().add(JTextFieldAantalGasten);
this.getContentPane().add(JTextFieldCap);
this.getContentPane().add(JLabelKnr);
this.getContentPane().add(JLabelCap);
this.getContentPane().add(JLabelGasten);
this.getContentPane().add(JButtonGeefVrij);
this.getContentPane().add(JLabelKamerNR);
this.getContentPane().add(JLabelAantalGasten);
this.getContentPane().add(JTextFieldKamerNummer);
this.getContentPane().add(jTextFieldAantal);
this.getContentPane().add(JButtonVerwijder);
}
private void myInit()
{
hotel.voegKamerToe(001,3);
hotel.voegKamerToe(002,3);
hotel.voegKamerToe(003,3);
hotel.voegKamerToe(004,3);
hotel.voegKamerToe(005,3);
hotel.voegKamerToe(101,3);
hotel.voegKamerToe(102,3);
hotel.voegKamerToe(103,3);
hotel.voegKamerToe(104,3);
hotel.voegKamerToe(105,3);
hotel.voegKamerToe(201,5);
hotel.voegKamerToe(202,5);
hotel.voegKamerToe(203,5);
hotel.voegKamerToe(204,5);
hotel.voegKamerToe(205,5);
hotel.voegKamerToe(206,5);
hotel.voegKamerToe(207,5);
hotel.voegKamerToe(208,5);
hotel.voegKamerToe(301,15);
hotel.voegKamerToe(302,15);
JListVrij.setListData(hotel.getKamers());
} |