Pip
Legacy Member
Hey zoals in een vorige post door iemand is aangehaald post ik hier mijn oplossingen van de oefeningen die ik heb gemaakt.
en volgende sourcecode heb ik geschreven voor de oefeneningen, het compiled en runt zoals het zou moeten maar mss zien jullie er nog zaken in die ik beter anders zou aanpakken?
Hoofdstuk 2: Vragen
1.Wat is een klasse?
Een klasse is een beschrijving voor objecten. Een klasse bestaat altijd uit een header en een body.
2.Wat is een object?
Een object kan vanalles zijn, het zijn de componenten van de applicatie zoals bv. een knop of een tekstvak.
3. Wat is een instantie?
Een instantie is een andere naam voor een object.
4. Wat is een package?
Een package is een verzameling klassen die bij elkaar horen. Een package wordt geïmporteerd dmv de instructie import. Met een * duid je aan dat je alle klassen van de package wilt gebruiken.
5. Wat is een declaratie?
Een declaratie is het bekendmaken van namen.
6. Wat is een methode?
Een methode is een groep opdrachten die bij elkaar horen en die een naam hebben. Een methode heeft ook altijd een header en een body.
7. Wat is een referentie?
Een referentie is het declareren(bekendmaken van namen) van objecten.
8. Wat is een event?
Een event is een gebeurtenis in de applicatie zoals bv. klikken op een knop, het afhandelen hiervan noemen we event-handling.
9. Java is case sensitive. Wat betekent dat?
Case sensitive betekend hoofdlettergevoelig zo is Knop niet hetzelfde als knop.
10. Java is een objectgeoriënteerde taal. Wat betekent dat?
In Java maken we verschillende objecten aan die met elkaar in verbinding staan en zo een volledige applicatie vormen. De code is niet lineair zo kan een actie van bv een knop helemaal beneden de code staan en toch als eerste worden uitgevoerd.
11. Welke gewoonte bestaat er in de naamgeving van klassen methoden en objecten?
De naamgeving wordt in kleine letters getypt, bestaat een naam uit 2 woorden dan worden deze gewoon aan elkaar getypt en het tweede woord begint met een hoofletter bv. tweeWoorden.
12. Aan welke regels moeten namen in Java voldoen?
Kleine en hoofdletters, getallen _ en het $-teken mogen gebruikt worden om namen te vormen in Java, een naam mag ook nooit beginnen met een getal.
13. Welke namen zijn toegestaan in Java?
constanteWaarde : toegestaan
muisknop : toegestaan
U2 : toegestaan
4U : niet toegestaan
c:\temp : niet toegestaan
Coca Cola : niet toegestaan
xs4all : toegestaan
14. Welke toevoegingen aan de broncode zijn nodig om een klik op een knop af te handelen?
eerst en vooral moet er een ActionListener worden toegevoegd aan de knop met een verwijzing naar de inwendige klasse met de methode voor het afhandelen van de knop.
bv. knop.addActionListener(new knopHandler());
de inwendige klasse ziet er als volt uit
class knopHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
tekstvak.setText(“Je hebt geklikt”);
}
}
en volgende sourcecode heb ik geschreven voor de oefeneningen, het compiled en runt zoals het zou moeten maar mss zien jullie er nog zaken in die ik beter anders zou aanpakken?
Code:
//Oefening 0210 applicatie met 2 knoppen en 2 tekstvlakken
//Opstartklasse
import javax.swing.*;
import java.awt.event.*;
public class Oef0210 extends JFrame
{
public static void main (String [] args)
{
JFrame frame = new Oef0210();
frame.setSize(400, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("Oefening 02.10");
JPanel Paneel = new Paneel();
frame.setContentPane(Paneel);
frame.setVisible(true);
}
}
//paneel met 2 knoppen en 2 tekstvlakken
class Paneel extends JPanel
{
private JButton knopVoornaam, knopAchternaam;
private JTextField tekstvlak1, tekstvlak2;
public Paneel()
{
knopVoornaam = new JButton("Voornaam");
knopVoornaam.addActionListener(new voornaamHandler());
knopAchternaam = new JButton("Achternaam");
knopAchternaam.addActionListener(new achternaamHandler());
tekstvlak1 = new JTextField(10);
tekstvlak2 = new JTextField(10);
add(knopVoornaam);
add(knopAchternaam);
add(tekstvlak1);
add(tekstvlak2);
}
//inwendig klasse voornaamHandler
class voornaamHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
tekstvlak1.setText("Jeroen");
}
}
//inwendige klasse achternaamHandler
class achternaamHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
tekstvlak2.setText("Nouws");
}
}
}
Code:
//Oefening 0210 applicatie met 2 knoppen en 2 tekstvlakken
//Opstartklasse
import javax.swing.*;
import java.awt.event.*;
public class Oef0210 extends JFrame
{
public static void main (String [] args)
{
JFrame frame = new Oef0210();
frame.setSize(400, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("Oefening 02.10");
JPanel Paneel = new Paneel();
frame.setContentPane(Paneel);
frame.setVisible(true);
}
}
//paneel met 2 knoppen en 2 tekstvlakken
class Paneel extends JPanel
{
private JButton knopVoornaam, knopAchternaam;
private JTextField tekstvlak1, tekstvlak2;
public Paneel()
{
knopVoornaam = new JButton("Voornaam");
knopVoornaam.addActionListener(new voornaamHandler());
knopAchternaam = new JButton("Achternaam");
knopAchternaam.addActionListener(new achternaamHandler());
tekstvlak1 = new JTextField(10);
tekstvlak2 = new JTextField(10);
add(knopVoornaam);
add(knopAchternaam);
add(tekstvlak1);
add(tekstvlak2);
}
//inwendig klasse voornaamHandler
class voornaamHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
tekstvlak1.setText("Jeroen");
}
}
//inwendige klasse achternaamHandler
class achternaamHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
tekstvlak2.setText("Nouws");
}
}
}

Dan ga ik deze maandag al bestellen, en het is zeer leerzaam, 200 vragen en 160 oefeningen, Dit is wel iets heel goed voormij 