Ik heb een Java-applicatie met diverse klassen, maar mijn probleem ligt tussen de klasse Interface en Simulator.
In de klasse Interface heb ik een applet aangemaakt. Deze heeft drie knoppen:
Zodra er op een knop wordt gedrukt, met er een methode aangeroepen worden. Hiermee wordt een venster naar voren gebracht, met de vraag aan de gebruiker of hij een waarde wil invoeren.
De code waarmee de functie wordt toegewezen aan een knop:
In de klasse sim staan dus de methodes setRabbitCreationProbability, etcetc. doorgevenProb staat als double gedefinieerd in de klasse interface.
Het geheel compileert en geeft wat dat betreft geen fouten. Echter, als men op een knop klikt, wordt men niet gevraagd een waarde in te geven. Ik wil hierbij liever geen gebruik maken van een Field. Er moet dus echt een venstertje tevoorschijn komen. Hoe doe ik dat?
Doe dit alles in BlueJ overigens, ben nog niet echt een gevorderd programmeur
In de klasse Interface heb ik een applet aangemaakt. Deze heeft drie knoppen:
PHP:
1
2
3
4
| JPanel buttonPanel = new JPanel(new GridLayout(3, 3)); addButton(buttonPanel, "Konijnen Probability wijzigen"); addButton(buttonPanel, "Leeuw Probability wijzigen"); addButton(buttonPanel, "Fox Probability wijzigen"); |
Zodra er op een knop wordt gedrukt, met er een methode aangeroepen worden. Hiermee wordt een venster naar voren gebracht, met de vraag aan de gebruiker of hij een waarde wil invoeren.
De code waarmee de functie wordt toegewezen aan een knop:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| public void actionPerformed(ActionEvent event) { String command = event.getActionCommand(); if(command.equals("konijnen Probability wijzigen")) { int number = Integer.parseInt(command); sim.setRabbitCreationProbability(doorgevenProb); } else if(command.equals("Leeuw Probability wijzigen")) sim.setFoxCreationProbability(doorgevenProb); else if(command.equals("Fox Probability wijzigen")) sim.setLeeuwCreationProbability(doorgevenProb); } |
In de klasse sim staan dus de methodes setRabbitCreationProbability, etcetc. doorgevenProb staat als double gedefinieerd in de klasse interface.
Het geheel compileert en geeft wat dat betreft geen fouten. Echter, als men op een knop klikt, wordt men niet gevraagd een waarde in te geven. Ik wil hierbij liever geen gebruik maken van een Field. Er moet dus echt een venstertje tevoorschijn komen. Hoe doe ik dat?
Doe dit alles in BlueJ overigens, ben nog niet echt een gevorderd programmeur