Clean up java applet

I created a java applet

It's working, however, i use 75 textfields to get it working.. There must be a smarter way, i tried something with arrays, but i couldn't "setbound" the textfields... Also i had to make 25 textfields visible at a time.

Perhaps anyone can give me a tip or a short part of code helping me to program my applet in a better way.

import java.applet.*;

import java.awt.*;

import java.awt.event.*;

publicclass Schetsextends Applet

{

// Alle gebruikte integers, knoppen en tekstvelden zijn hier ge飊itialisseerd

int nummereen, nummertwee, nummerdrie, klas;

Button knop;

Button klas1;

Button klas2;

Button klas3;

Button naamwijz;

TextField vulklas, vuldoc, vullokaal, ma111, ma222, ma333, ma444, ma555, di111, di222, di333, di444, di555, wo111, wo222, wo333, wo444, wo555, do111, do222, do333, do444, do555, vr111, vr222, vr333, vr444, vr555, ma11, ma22, ma33, ma44, ma55, di11, di22, di33, di44, di55, wo11, wo22, wo33, wo44, wo55, do11, do22, do33, do44, do55, vr11, vr22, vr33, vr44, vr55, ma1, ma2, ma3, ma4, ma5, di1, di2, di3, di4, di5, wo1, wo2, wo3, wo4, wo5, do1, do2, do3, do4, do5, vr1, vr2, vr3, vr4, vr5, message;

publicvoid init()

{

// Geef integers een null-waarde, er is immers nog geen rooster

// beschikbaar en ook de klas is nog niet geselecteerd.

nummereen=0;

nummertwee=0;

nummerdrie=0;

klas=0;

setLayout(null );

// Benaam buttons en geef ze de juiste eigenschappen mee

naamwijz=new Button();

naamwijz.setLabel("Wijzig naam");

naamwijz.addActionListener(new naamknopHandler() );

naamwijz.setBounds(175, 20, 90, 20);

knop=new Button();

knop.setLabel("Plan in");

knop.addActionListener(new KnopHandler() );

knop.setBounds(175, 70, 90, 20);

klas1=new Button();

klas1.setLabel("Klas 1");

klas1.addActionListener(new klas1knopHandler() );

klas1.setBounds(440, 20, 90, 20);

klas2=new Button();

klas2.setLabel("Klas 2");

klas2.addActionListener(new klas2knopHandler() );

klas2.setBounds(440, 45, 90, 20);

klas3=new Button();

klas3.setLabel("Klas 3");

klas3.addActionListener(new klas3knopHandler() );

klas3.setBounds(440, 70, 90, 20);

vulklas =new TextField( 20 ); vulklas.setBounds(50, 20, 120, 20);

vuldoc =new TextField( 20 ); vuldoc.setBounds(50, 45, 120, 20);

vullokaal =new TextField( 20 ); vullokaal.setBounds(50, 70, 120, 20);

// Benaam tekstvelden en geef ze de juiste waardes mee.

// Ik heb dit getracht in een Array te schrijven, echter in

// een array kreeg ik het niet voor elkaar de velden netjes onder

// elkaar te sorteren, vandaar de minder mooie manier met 75

// losse tekstvelden. Hierdoor is de lay-out wel netjes.

// Standaard heb ik voor de tekstvelden de tekst "geen les" ingevuld

// hierdoor is het onderscheid van wel of geen les gemakkelijk te maken.

// Tekstvelden voor klas1

ma1 =new TextField("geen les", 20); ma1.setBounds(50, 145, 120, 20);

ma2 =new TextField("geen les", 20); ma2.setBounds(50, 170, 120, 20);

ma3 =new TextField("geen les", 20); ma3.setBounds(50, 195, 120, 20);

ma4 =new TextField("geen les", 20); ma4.setBounds(50, 220, 120, 20);

ma5 =new TextField("geen les", 20); ma5.setBounds(50, 245, 120, 20);

di1 =new TextField("geen les", 20); di1.setBounds(180, 145, 120, 20);

di2 =new TextField("geen les", 20); di2.setBounds(180, 170, 120, 20);

di3 =new TextField("geen les", 20); di3.setBounds(180, 195, 120, 20);

di4 =new TextField("geen les", 20); di4.setBounds(180, 220, 120, 20);

di5 =new TextField("geen les", 20); di5.setBounds(180, 245, 120, 20);

wo1 =new TextField("geen les", 20); wo1.setBounds(310, 145, 120, 20);

wo2 =new TextField("geen les", 20); wo2.setBounds(310, 170, 120, 20);

wo3 =new TextField("geen les", 20); wo3.setBounds(310, 195, 120, 20);

wo4 =new TextField("geen les", 20); wo4.setBounds(310, 220, 120, 20);

wo5 =new TextField("geen les", 20); wo5.setBounds(310, 245, 120, 20);

do1 =new TextField("geen les", 20); do1.setBounds(440, 145, 120, 20);

do2 =new TextField("geen les", 20); do2.setBounds(440, 170, 120, 20);

do3 =new TextField("geen les", 20); do3.setBounds(440, 195, 120, 20);

do4 =new TextField("geen les", 20); do4.setBounds(440, 220, 120, 20);

do5 =new TextField("geen les", 20); do5.setBounds(440, 245, 120, 20);

vr1 =new TextField("geen les", 20); vr1.setBounds(570, 145, 120, 20);

vr2 =new TextField("geen les", 20); vr2.setBounds(570, 170, 120, 20);

vr3 =new TextField("geen les", 20); vr3.setBounds(570, 195, 120, 20);

vr4 =new TextField("geen les", 20); vr4.setBounds(570, 220, 120, 20);

vr5 =new TextField("geen les", 20); vr5.setBounds(570, 245, 120, 20);

// Tekstvelden voor klas2

ma11 =new TextField("geen les", 20); ma11.setBounds(50, 145, 120, 20);

ma22 =new TextField("geen les", 20); ma22.setBounds(50, 170, 120, 20);

ma33 =new TextField("geen les", 20); ma33.setBounds(50, 195, 120, 20);

ma44 =new TextField("geen les", 20); ma44.setBounds(50, 220, 120, 20);

ma55 =new TextField("geen les", 20); ma55.setBounds(50, 245, 120, 20);

di11 =new TextField("geen les", 20); di11.setBounds(180, 145, 120, 20);

di22 =new TextField("geen les", 20); di22.setBounds(180, 170, 120, 20);

di33 =new TextField("geen les", 20); di33.setBounds(180, 195, 120, 20);

di44 =new TextField("geen les", 20); di44.setBounds(180, 220, 120, 20);

di55 =new TextField("geen les", 20); di55.setBounds(180, 245, 120, 20);

wo11 =new TextField("geen les", 20); wo11.setBounds(310, 145, 120, 20);

wo22 =new TextField("geen les", 20); wo22.setBounds(310, 170, 120, 20);

wo33 =new TextField("geen les", 20); wo33.setBounds(310, 195, 120, 20);

wo44 =new TextField("geen les", 20); wo44.setBounds(310, 220, 120, 20);

wo55 =new TextField("geen les", 20); wo55.setBounds(310, 245, 120, 20);

do11 =new TextField("geen les", 20); do11.setBounds(440, 145, 120, 20);

do22 =new TextField("geen les", 20); do22.setBounds(440, 170, 120, 20);

do33 =new TextField("geen les", 20); do33.setBounds(440, 195, 120, 20);

do44 =new TextField("geen les", 20); do44.setBounds(440, 220, 120, 20);

do55 =new TextField("geen les", 20); do55.setBounds(440, 245, 120, 20);

vr11 =new TextField("geen les", 20); vr11.setBounds(570, 145, 120, 20);

vr22 =new TextField("geen les", 20); vr22.setBounds(570, 170, 120, 20);

vr33 =new TextField("geen les", 20); vr33.setBounds(570, 195, 120, 20);

vr44 =new TextField("geen les", 20); vr44.setBounds(570, 220, 120, 20);

vr55 =new TextField("geen les", 20); vr55.setBounds(570, 245, 120, 20);

// Tekstvelden voor klas3

ma111 =new TextField("geen les", 20);ma111.setBounds(50, 145, 120, 20);

ma222 =new TextField("geen les", 20); ma222.setBounds(50, 170, 120, 20);

ma333 =new TextField("geen les", 20); ma333.setBounds(50, 195, 120, 20);

ma444 =new TextField("geen les", 20); ma444.setBounds(50, 220, 120, 20);

ma555 =new TextField("geen les", 20); ma555.setBounds(50, 245, 120, 20);

di111 =new TextField("geen les", 20); di111.setBounds(180, 145, 120, 20);

di222 =new TextField("geen les", 20); di222.setBounds(180, 170, 120, 20);

di333 =new TextField("geen les", 20); di333.setBounds(180, 195, 120, 20);

di444 =new TextField("geen les", 20); di444.setBounds(180, 220, 120, 20);

di555 =new TextField("geen les", 20); di555.setBounds(180, 245, 120, 20);

wo111 =new TextField("geen les", 20); wo111.setBounds(310, 145, 120, 20);

wo222 =new TextField("geen les", 20); wo222.setBounds(310, 170, 120, 20);

wo333 =new TextField("geen les", 20); wo333.setBounds(310, 195, 120, 20);

wo444 =new TextField("geen les", 20); wo444.setBounds(310, 220, 120, 20);

wo555 =new TextField("geen les", 20); wo555.setBounds(310, 245, 120, 20);

do111 =new TextField("geen les", 20); do111.setBounds(440, 145, 120, 20);

do222 =new TextField("geen les", 20); do222.setBounds(440, 170, 120, 20);

do333 =new TextField("geen les", 20); do333.setBounds(440, 195, 120, 20);

do444 =new TextField("geen les", 20); do444.setBounds(440, 220, 120, 20);

do555 =new TextField("geen les", 20); do555.setBounds(440, 245, 120, 20);

vr111 =new TextField("geen les", 20); vr111.setBounds(570, 145, 120, 20);

vr222 =new TextField("geen les", 20); vr222.setBounds(570, 170, 120, 20);

vr333 =new TextField("geen les", 20); vr333.setBounds(570, 195, 120, 20);

vr444 =new TextField("geen les", 20); vr444.setBounds(570, 220, 120, 20);

vr555 =new TextField("geen les", 20); vr555.setBounds(570, 245, 120, 20);

// Als laatste een berichten venster waarin eventuele foutmeldingen

// kunnen worden weergegeven.

message =new TextField("Selecteer een klas",20); message.setBounds(50, 280, 640, 20);

// Voeg alles toe aan de applet waardoor het op het scherm verschijnt.

add ( knop );

add ( naamwijz );

add ( klas1 );

add ( klas2 );

add ( klas3 );

add ( vulklas );

// Standaard zijn er al waardes voor de klassen ingevuld, je wil

// de klasnaam niet iedere keer bewerken bij het opstarten, vandaar

// dat "Editable" niet aanstaat.

vulklas.setEditable(false);

add ( vuldoc );

add ( vullokaal );

add ( ma111 ); add ( ma222 ); add ( ma333 ); add ( ma444 ); add ( ma555 );

add ( di111 ); add ( di222 ); add ( di333 ); add ( di444 ); add ( di555 );

add ( wo111 ); add ( wo222 ); add ( wo333 ); add ( wo444 ); add ( wo555 );

add ( do111 ); add ( do222 ); add ( do333 ); add ( do444 ); add ( do555 );

add ( vr111 ); add ( vr222 ); add ( vr333 ); add ( vr444 ); add ( vr555 );

add ( ma11 ); add ( ma22 ); add ( ma33 ); add ( ma44 ); add ( ma55 );

add ( di11 ); add ( di22 ); add ( di33 ); add ( di44 ); add ( di55 );

add ( wo11 ); add ( wo22 ); add ( wo33 ); add ( wo44 ); add ( wo55 );

add ( do11 ); add ( do22 ); add ( do33 ); add ( do44 ); add ( do55 );

add ( vr11 ); add ( vr22 ); add ( vr33 ); add ( vr44 ); add ( vr55 );

add ( ma1 ); add ( ma2 ); add ( ma3 ); add ( ma4 ); add ( ma5 );

add ( di1 ); add ( di2 ); add ( di3 ); add ( di4 ); add ( di5 );

add ( wo1 ); add ( wo2 ); add ( wo3 ); add ( wo4 ); add ( wo5 );

add ( do1 ); add ( do2 ); add ( do3 ); add ( do4 ); add ( do5 );

add ( vr1 ); add ( vr2 ); add ( vr3 ); add ( vr4 ); add ( vr5 );

add ( message );

}

class KnopHandlerimplements ActionListener{

publicvoid actionPerformed(ActionEvent e)

{

// Deze knop zorgt ervoor dat de ingevoerde tekst bij docent en

// lokaal gecombineerd terecht komt in het rooster.

// De combinatie laat ik door een combinatieteken "/" splitsen.

String combine1 = vuldoc.getText();

String combine2 = vullokaal.getText();

if (klas == 0);

if (klas == 1) nummereen = nummereen+1;

if (klas == 2) nummertwee = nummertwee+1;

if (klas == 3) nummerdrie = nummerdrie+1;

// Hier wordt gecontroleerd voor welke klas een rooster wordt

// ingevoerd en er wordt gecontroleerd bij welk rijnummer er

// gebleven was.

// Ik heb dit getracht in een Array te schrijven, echter in

// een array kreeg ik het niet voor elkaar de velden netjes onder

// elkaar te sorteren, vandaar de minder mooie manier met 75

// losse tekstvelden, vandaar dus het lange "if"-statement.

// Als er wordt geschreven in klas 1 dan komt dat op de volgende regel.

if (klas == 0) message.setText("Selecteer een klas!" );

if (klas == 1 && nummereen == 1) ma1.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 2) ma2.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 3) ma3.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 4) ma4.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 5) ma5.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 6) di1.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 7) di2.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 8) di3.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 9) di4.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 10) di5.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 11) wo1.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 12) wo2.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 13) wo3.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 14) wo4.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 15) wo5.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 16) do1.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 17) do2.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 18) do3.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 19) do4.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 20) do5.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 21) vr1.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 22) vr2.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 23) vr3.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 24) vr4.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen == 25) vr5.setText( combine1+"/" +combine2 );

if (klas == 1 && nummereen >= 26) message.setText("De klas heeft geen vrije lesmomenten meer!" );

// Als er wordt geschreven in klas 2 dan komt dat op de volgende regel.

if (klas == 2 && nummertwee == 1) ma11.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 2) ma22.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 3) ma33.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 4) ma44.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 5) ma55.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 6) di11.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 7) di22.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 8) di33.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 9) di44.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 10) di55.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 11) wo11.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 12) wo22.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 13) wo33.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 14) wo44.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 15) wo55.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 16) do11.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 17) do22.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 18) do33.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 19) do44.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 20) do55.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 21) vr11.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 22) vr22.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 23) vr33.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 24) vr44.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee == 25) vr55.setText( combine1+"/" +combine2 );

if (klas == 2 && nummertwee >= 26) message.setText("De klas heeft geen vrije lesmomenten meer!" );

// Als er wordt geschreven in klas 3 dan komt dat op de volgende regel.

if (klas == 3 && nummerdrie == 1) ma111.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 2) ma222.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 3) ma333.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 4) ma444.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 5) ma555.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 6) di111.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 7) di222.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 8) di333.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 9) di444.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 10) di555.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 11) wo111.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 12) wo222.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 13) wo333.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 14) wo444.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 15) wo555.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 16) do111.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 17) do222.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 18) do333.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 19) do444.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 20) do555.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 21) vr111.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 22) vr222.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 23) vr333.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 24) vr444.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie == 25) vr555.setText( combine1+"/" +combine2 );

if (klas == 3 && nummerdrie >= 26) message.setText("De klas heeft geen vrije lesmomenten meer!" );

// Maak de velden vuldoc en vullokaal weer leeg.

vuldoc.setText("" );

vullokaal.setText("" );

repaint();

}

}

class klas1knopHandlerimplements ActionListener{

publicvoid actionPerformed(ActionEvent e)

{

// Indien "klas 1" wordt geselecteerd dan wordt er eerst

// gecontroleerd of er een andeer klasnaam is ingegeven,

// indien het tekstveld vulklas "editable" is dan wordt de

// tekst van klas 1 daarop aangepast, hij maakt dan ook gelijk

// het tekstveld vulklas niet meer editable.

klas=1;

if (vulklas.isEditable()) klas1.setLabel("" +vulklas.getText());

vulklas.setEditable(false);

vulklas.setText("" +klas1.getLabel() );

repaint();

// Maak de velden voor klas 1 zichtbaar en de velden voor

// klas 2 en klas 3 onzichtbaar. Op deze manier komt het

// rooster voor de juiste klas naar voren.

ma1.setVisible(true); ma2.setVisible(true); ma3.setVisible(true); ma4.setVisible(true); ma5.setVisible(true);

di1.setVisible(true); di2.setVisible(true); di3.setVisible(true); di4.setVisible(true); di5.setVisible(true);

wo1.setVisible(true); wo2.setVisible(true); wo3.setVisible(true); wo4.setVisible(true); wo5.setVisible(true);

do1.setVisible(true); do2.setVisible(true); do3.setVisible(true); do4.setVisible(true); do5.setVisible(true);

vr1.setVisible(true); vr2.setVisible(true); vr3.setVisible(true); vr4.setVisible(true); vr5.setVisible(true);

ma11.setVisible(false); ma22.setVisible(false); ma33.setVisible(false); ma44.setVisible(false); ma55.setVisible(false);

di11.setVisible(false); di22.setVisible(false); di33.setVisible(false); di44.setVisible(false); di55.setVisible(false);

wo11.setVisible(false); wo22.setVisible(false); wo33.setVisible(false); wo44.setVisible(false); wo55.setVisible(false);

do11.setVisible(false); do22.setVisible(false); do33.setVisible(false); do44.setVisible(false); do55.setVisible(false);

vr11.setVisible(false); vr22.setVisible(false); vr33.setVisible(false); vr44.setVisible(false); vr55.setVisible(false);

ma111.setVisible(false); ma222.setVisible(false); ma333.setVisible(false); ma444.setVisible(false); ma555.setVisible(false);

di111.setVisible(false); di222.setVisible(false); di333.setVisible(false); di444.setVisible(false); di555.setVisible(false);

wo111.setVisible(false); wo222.setVisible(false); wo333.setVisible(false); wo444.setVisible(false); wo555.setVisible(false);

do111.setVisible(false); do222.setVisible(false); do333.setVisible(false); do444.setVisible(false); do555.setVisible(false);

vr111.setVisible(false); vr222.setVisible(false); vr333.setVisible(false); vr444.setVisible(false); vr555.setVisible(false);

// Een bericht dat klas 1 is geselecteerd.

message.setText( klas1.getLabel()+" geselecteerd" );

repaint();

}

}

class klas2knopHandlerimplements ActionListener{

publicvoid actionPerformed(ActionEvent e)

{

// Indien "klas 2" wordt geselecteerd dan wordt er eerst

// gecontroleerd of er een andeer klasnaam is ingegeven,

// indien het tekstveld vulklas "editable" is dan wordt de

// tekst van klas 1 daarop aangepast, hij maakt dan ook gelijk

// het tekstveld vulklas niet meer editable.

klas=2;

if (vulklas.isEditable()) klas2.setLabel("" +vulklas.getText());

vulklas.setEditable(false);

vulklas.setText("" +klas2.getLabel());

repaint();

// Maak de velden voor klas 2 zichtbaar en de velden voor

// klas 1 en klas 3 onzichtbaar. Op deze manier komt het

// rooster voor de juiste klas naar voren.

ma1.setVisible(false); ma2.setVisible(false); ma3.setVisible(false); ma4.setVisible(false); ma5.setVisible(false);

di1.setVisible(false); di2.setVisible(false); di3.setVisible(false); di4.setVisible(false); di5.setVisible(false);

wo1.setVisible(false); wo2.setVisible(false); wo3.setVisible(false); wo4.setVisible(false); wo5.setVisible(false);

do1.setVisible(false); do2.setVisible(false); do3.setVisible(false); do4.setVisible(false); do5.setVisible(false);

vr1.setVisible(false); vr2.setVisible(false); vr3.setVisible(false); vr4.setVisible(false); vr5.setVisible(false);

ma11.setVisible(true); ma22.setVisible(true); ma33.setVisible(true); ma44.setVisible(true); ma55.setVisible(true);

di11.setVisible(true); di22.setVisible(true); di33.setVisible(true); di44.setVisible(true); di55.setVisible(true);

wo11.setVisible(true); wo22.setVisible(true); wo33.setVisible(true); wo44.setVisible(true); wo55.setVisible(true);

do11.setVisible(true); do22.setVisible(true); do33.setVisible(true); do44.setVisible(true); do55.setVisible(true);

vr11.setVisible(true); vr22.setVisible(true); vr33.setVisible(true); vr44.setVisible(true); vr55.setVisible(true);

ma111.setVisible(false); ma222.setVisible(false); ma333.setVisible(false); ma444.setVisible(false); ma555.setVisible(false);

di111.setVisible(false); di222.setVisible(false); di333.setVisible(false); di444.setVisible(false); di555.setVisible(false);

wo111.setVisible(false); wo222.setVisible(false); wo333.setVisible(false); wo444.setVisible(false); wo555.setVisible(false);

do111.setVisible(false); do222.setVisible(false); do333.setVisible(false); do444.setVisible(false); do555.setVisible(false);

vr111.setVisible(false); vr222.setVisible(false); vr333.setVisible(false); vr444.setVisible(false); vr555.setVisible(false);

// Een bericht dat klas 2 is geselecteerd.

message.setText( klas2.getLabel()+" geselecteerd" );

repaint();

}

}

class klas3knopHandlerimplements ActionListener{

publicvoid actionPerformed(ActionEvent e)

{

// Indien "klas 3" wordt geselecteerd dan wordt er eerst

// gecontroleerd of er een andeer klasnaam is ingegeven,

// indien het tekstveld vulklas "editable" is dan wordt de

// tekst van klas 1 daarop aangepast, hij maakt dan ook gelijk

// het tekstveld vulklas niet meer editable.

klas=3;

if (vulklas.isEditable()) klas3.setLabel("" +vulklas.getText());

vulklas.setEditable(false);

vulklas.setText("" +klas3.getLabel());

repaint();

// Maak de velden voor klas 3 zichtbaar en de velden voor

// klas 1 en klas 2 onzichtbaar. Op deze manier komt het

// rooster voor de juiste klas naar voren.

ma1.setVisible(false); ma2.setVisible(false); ma3.setVisible(false); ma4.setVisible(false); ma5.setVisible(false);

di1.setVisible(false); di2.setVisible(false); di3.setVisible(false); di4.setVisible(false); di5.setVisible(false);

wo1.setVisible(false); wo2.setVisible(false); wo3.setVisible(false); wo4.setVisible(false); wo5.setVisible(false);

do1.setVisible(false); do2.setVisible(false); do3.setVisible(false); do4.setVisible(false); do5.setVisible(false);

vr1.setVisible(false); vr2.setVisible(false); vr3.setVisible(false); vr4.setVisible(false); vr5.setVisible(false);

ma11.setVisible(false); ma22.setVisible(false); ma33.setVisible(false); ma44.setVisible(false); ma55.setVisible(false);

di11.setVisible(false); di22.setVisible(false); di33.setVisible(false); di44.setVisible(false); di55.setVisible(false);

wo11.setVisible(false); wo22.setVisible(false); wo33.setVisible(false); wo44.setVisible(false); wo55.setVisible(false);

do11.setVisible(false); do22.setVisible(false); do33.setVisible(false); do44.setVisible(false); do55.setVisible(false);

vr11.setVisible(false); vr22.setVisible(false); vr33.setVisible(false); vr44.setVisible(false); vr55.setVisible(false);

ma111.setVisible(true); ma222.setVisible(true); ma333.setVisible(true); ma444.setVisible(true); ma555.setVisible(true);

di111.setVisible(true); di222.setVisible(true); di333.setVisible(true); di444.setVisible(true); di555.setVisible(true);

wo111.setVisible(true); wo222.setVisible(true); wo333.setVisible(true); wo444.setVisible(true); wo555.setVisible(true);

do111.setVisible(true); do222.setVisible(true); do333.setVisible(true); do444.setVisible(true); do555.setVisible(true);

vr111.setVisible(true); vr222.setVisible(true); vr333.setVisible(true); vr444.setVisible(true); vr555.setVisible(true);

// Een bericht dat klas 3 is geselecteerd.

message.setText( klas3.getLabel()+" geselecteerd" );

repaint();

}

}

class naamknopHandlerimplements ActionListener{

publicvoid actionPerformed(ActionEvent e)

{

// Indien een klasnaam moet worden gewijzigd moet het tekstveld

// vulklas eerst op "editable" worden gezet.

// Door hierna te klikken op de button naar keuze verandert

// de naam van het betreffende button (klas)

vulklas.setEditable(true);

message.setText("Klasnaam wijzigen" );

repaint();

}

}

publicvoid paint( Graphics g )

{

// Zet alle tekst bij de velden

g.drawString("Maken van een rooster." ,5, 10 );

g.drawString("Klas:" ,5, 35 );

g.drawString("Docent:" ,5, 60 );

g.drawString("Lokaal:" ,5, 85 );

g.drawString("Selecteer een klas:" ,440, 10 );

g.drawString("Rooster voor klas:" ,5, 122 );

g.drawString("Maandag" ,60, 140 );

g.drawString("Dinsdag" ,190, 140 );

g.drawString("Woensdag" ,320, 140 );

g.drawString("Donderdag" ,450, 140 );

g.drawString("Vrijdag" ,580, 140 );

g.drawString("Tijd 1:" ,5, 160 );

g.drawString("Tijd 2:" ,5, 185 );

g.drawString("Tijd 3:" ,5, 210 );

g.drawString("Tijd 4:" ,5, 235 );

g.drawString("Tijd 5:" ,5, 260 );

g.drawString("Melding" ,5, 295 );

}

}

[51021 byte] By [Flappetapa] at [2007-11-26 18:54:49]
# 1
Use loops, arrays and/or Collections, and layout managers. http://java.sun.com/docs/books/tutorial/uiswing/layout/index.html
zadoka at 2007-7-9 20:32:22 > top of Java-index,Java Essentials,New To Java...
# 2
Apart from how you store the textfields...why do you need 75 textfields anyway? That seems like it would be an awfully unwieldy GUI.
paulcwa at 2007-7-9 20:32:22 > top of Java-index,Java Essentials,New To Java...
# 3
25 textfields to store combined information about "docent" and "lokaal" this multiplied by 3 different "klassen" makes 75 textfields... it is also possible to write it in text, but i prefer the textfields.
Flappetapa at 2007-7-9 20:32:22 > top of Java-index,Java Essentials,New To Java...
# 4

OK, I'm not a GUI expert...

but maybe have a single text field for new text entry, and after the entry has been made add it to a JList or the like?

Then you could string the JLists together.So selecting a class would present you with locations int a new list, and selecting a location would present you with a list of professors. For each list there'd be a single textfield for new data entry.

You'd still need java.util.Collections to hold data (rather than individual fields) in the code, but you'd have significantly fewer fields and variables internally, and a lot less busy GUI.

Just an idea.

paulcwa at 2007-7-9 20:32:22 > top of Java-index,Java Essentials,New To Java...