[Java] Buttons aanmaken met behulp van array

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Vulchare
  • Registratie: December 2013
  • Laatst online: 14-10 17:14
Ik ben bezig met het maken van meerdere (35) buttons met elk een reactie.

Nu heb ik dit 35 keer 8)7

Java:
1
2
3
4
5
6
           // code per button
            JButton buttons1 = new JButton(); 
            buttons1.setText("buttons1");
            frame.add(buttons1);
            buttons1.setPreferredSize(new Dimension(50, 50));
            buttons1.setBackground(Color.white);


Ik wil het graag zo:
Java:
1
2
3
4
5
6
7
8
        String[] buttons = {"button1", "button2", "button3"};
        for(int i=0; i < 3; i++) { 
            JButton buttons[i] = new JButton(); 
            frame.add(buttons[i]);
            buttons[i].setText(buttons[i]);
            buttons[i].setPreferredSize(new Dimension(50, 50));
            buttons[i].setBackground(Color.white);
        }


Maar, wanneer ik de loop run, geeft hij "no suitable method found"

Als ik enkel de text uit de array haal met de setText method:
Java:
1
2
3
4
5
6
7
8
        String[] buttons = {"button1", "button2", "button3"};
        for(int i=0; i < 3; i++) { 
            JButton button = new JButton(); 
            frame.add(buttons[i]);
            button.setText(buttons[i]);
            button.setPreferredSize(new Dimension(50, 50));
            button.setBackground(Color.white);
        }


dan krijg ik wel meerdere buttons met een andere tekst, maar ik kan geen specifieke actionlisteners aan de button hangen. Ze heten immers allemaal 'button'.

Acties:
  • 0 Henk 'm!

  • LinuX-TUX
  • Registratie: December 2003
  • Laatst online: 14-10 12:59
Is je buttons array nou een array van Strings of van JButtons?

;)

Acties:
  • 0 Henk 'm!

  • Vulchare
  • Registratie: December 2013
  • Laatst online: 14-10 17:14
Top! _/-\o_

Nu heb ik het volgende:

Java:
1
2
3
4
5
6
7
8
9
        JButton[] buttons = {button1, button2, button3};
        for(int i=0; i < 3; i++) { 
            JButton buttons[i] = new JButton(); // Zie onder*
            frame.add(buttons[i]);
            buttons[i].setText(buttons[i].getName());
            buttons[i].setPreferredSize(new Dimension(50, 50));
            buttons[i].setBackground(Color.white);
               }
   


*Deze regel accepteert ie niet.
Ik moet nog steeds de buttons apart aanmaken wat ook weer 35 regels betekent.
Kan dit makkelijker?

De rest werkt wel, en reageert ook op de ActionListeners :*)

Acties:
  • 0 Henk 'm!

  • Merethil
  • Registratie: December 2008
  • Laatst online: 14-10 14:36
Vulchare schreef op woensdag 07 mei 2014 @ 10:57:
Top! _/-\o_

Nu heb ik het volgende:

Java:
1
2
3
4
5
6
7
8
9
        JButton[] buttons = {button1, button2, button3};
        for(int i=0; i < 3; i++) { 
            JButton buttons[i] = new JButton(); // Zie onder*
            frame.add(buttons[i]);
            buttons[i].setText(buttons[i].getName());
            buttons[i].setPreferredSize(new Dimension(50, 50));
            buttons[i].setBackground(Color.white);
               }
   


*Deze regel accepteert ie niet.
Ik moet nog steeds de buttons apart aanmaken wat ook weer 35 regels betekent.
Kan dit makkelijker?

De rest werkt wel, en reageert ook op de ActionListeners :*)
Waarom initialize je de array met inhoud? Je kan beter een array maken van een bepaalde grootte en die gaan vullen met buttonobjecten.
Momenteel bouw je een array van buttons waarbij elk button-object een waarde van een al bestaande button krijgt, waarna je gaat proberen hem te vullen met een nieuwe button. Waar worden "button1, button2 etc..." gedeclareerd voordat je deze array aanmaakt?

De reden dat hij trouwens op z'n bek gaat bij die regel is omdat je de array buttons ook nog probeert te declareren als een JButton.
Bedenk even wat je daar doet: Je pakt een JButton uit een array van JButtons, moet je dan nog een declaratie ervoor zetten dat het een JButton is?

[ Voor 17% gewijzigd door Merethil op 07-05-2014 11:08 ]


Acties:
  • 0 Henk 'm!

  • Vulchare
  • Registratie: December 2013
  • Laatst online: 14-10 17:14
Merethil schreef op woensdag 07 mei 2014 @ 11:04:
[...]


Waarom initialize je de array met inhoud? Je kan beter een array maken van een bepaalde grootte en die gaan vullen met buttonobjecten.
Is dit niet hetzelfde als vooraf de JButtons declareren? Ik weet al hoeveel buttons ik nodig heb en hoe deze heten. Een dynamische array zal dan volgens mij niet veel verschillen. Als je een voorbeeld hebt waar dit efficiënter blijkt, graag :)
Momenteel bouw je een array van buttons waarbij elk button-object een waarde van een al bestaande button krijgt, waarna je gaat proberen hem te vullen met een nieuwe button. Waar worden "button1, button2 etc..." gedeclareerd voordat je deze array aanmaakt?
Voordat de loop wordt gestart.

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
    JButton button1 = new JButton();
    JButton button2 = new JButton();
    JButton button3 = new JButton();

    public TestButtons(){
        JButton[] buttons = {button1, button2, button3};
        for(int i=0; i < 3; i++) {
            frame.add(buttons[i]);
            buttons[i].setText(buttons[i].getName());
            buttons[i].setPreferredSize(new Dimension(50, 50));
            buttons[i].setBackground(Color.white);
        }
}
De reden dat hij trouwens op z'n bek gaat bij die regel is omdat je de array buttons ook nog probeert te declareren als een JButton.
Bedenk even wat je daar doet: Je pakt een JButton uit een array van JButtons, moet je dan nog een declaratie ervoor zetten dat het een JButton is?
Dat klinkt inderdaad erg omslachtig. Maar als ik de button niet declareer, krijg ik 'cannot find symbol - variable button1'

Acties:
  • 0 Henk 'm!

  • Merethil
  • Registratie: December 2008
  • Laatst online: 14-10 14:36
Vulchare schreef op woensdag 07 mei 2014 @ 11:38:
[...]


Is dit niet hetzelfde als vooraf de JButtons declareren? Ik weet al hoeveel buttons ik nodig heb en hoe deze heten. Een dynamische array zal dan volgens mij niet veel verschillen. Als je een voorbeeld hebt waar dit efficiënter blijkt, graag :)


[...]

Voordat de loop wordt gestart.

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
    JButton button1 = new JButton();
    JButton button2 = new JButton();
    JButton button3 = new JButton();

    public TestButtons(){
        JButton[] buttons = {button1, button2, button3};
        for(int i=0; i < 35; i++) {
            frame.add(buttons[i]);
            buttons[i].setText(buttons[i].getName());
            buttons[i].setPreferredSize(new Dimension(50, 50));
            buttons[i].setBackground(Color.white);
        }
}



[...]


Dat klinkt inderdaad erg omslachtig. Maar als ik de button niet declareer, krijg ik 'cannot find symbol - variable button1'
Dit lijkt me makkelijker:

Java:
1
2
3
4
5
6
7
8
9
10
11
    public TestButtons(){
        JButton[] buttons = new JButton[35];
        for(int i=0; i < 3; i++) {
            buttons[i] = new JButton();
            buttons[i].setName("Button" + i);
            frame.add(buttons[i]);
            buttons[i].setText(buttons[i].getName());
            buttons[i].setPreferredSize(new Dimension(50, 50));
            buttons[i].setBackground(Color.white);
        }
}


Aangezien je niets doet met de geinitaliseerde buttons voor je ze in je frame stopt, kan je ze net zo goed initialiseren in je loop, kost je ook minder regels.
Zoals je het hiervoor deed, vulde je de array met je 35 buttons, waarna je elke button opnieuw initialiseert zodra je door de loop heen gaat, heb je dus tweemaal de buttons gemaakt (dus 70 button objecten totaal) zonder iets te hebben gedaan in de tussentijd.

[ Voor 13% gewijzigd door Merethil op 07-05-2014 11:43 ]


Acties:
  • 0 Henk 'm!

  • Vulchare
  • Registratie: December 2013
  • Laatst online: 14-10 17:14
Merethil schreef op woensdag 07 mei 2014 @ 11:40:
[...]


Dit lijkt me makkelijker:

Java:
1
2
3
4
5
6
7
8
9
10
11
    public TestButtons(){
        JButton[] buttons = new JButton[35];
        for(int i=0; i < 3; i++) {
            buttons[i] = new JButton();
            buttons[i].setName("Button" + i);
            frame.add(buttons[i]);
            buttons[i].setText(buttons[i].getName());
            buttons[i].setPreferredSize(new Dimension(50, 50));
            buttons[i].setBackground(Color.white);
        }
}


Aangezien je niets doet met de geinitaliseerde buttons voor je ze in je frame stopt, kan je ze net zo goed initialiseren in je loop, kost je ook minder regels.
Zoals je het hiervoor deed, vulde je de array met je 35 buttons, waarna je elke button opnieuw initialiseert zodra je door de loop heen gaat, heb je dus tweemaal de buttons gemaakt (dus 70 button objecten totaal) zonder iets te hebben gedaan in de tussentijd.
Dit is inderdaad een hele efficiente manier om buttons toe te voegen. Helaas denkt de ActionListener er anders over. Hij kan nu de buttons, die nog niet zijn geïnitialiseerd, niet vinden.

Java:
1
2
3
4
5
6
7
8
9
10
11
12
        button1.addActionListener(
            new ActionListener() 
            {
                public void actionPerformed(ActionEvent e) {
                    if (button1.getBackground() != Color.GRAY){ // deze dus
                        button1.setBackground(Color.gray); // deze dus
                    } else {
                        button1.setBackground(Color.white); // deze dus
                    }
                }
            }
        );


offtopic:
Het voelt alsof ik achterlijk (aan het worden) ben...

Acties:
  • 0 Henk 'm!

  • Merethil
  • Registratie: December 2008
  • Laatst online: 14-10 14:36
Vulchare schreef op woensdag 07 mei 2014 @ 12:14:
[...]


Dit is inderdaad een hele efficiente manier om buttons toe te voegen. Helaas denkt de ActionListener er anders over. Hij kan nu de buttons, die nog niet zijn geïnitialiseerd, niet vinden.

Java:
1
2
3
4
5
6
7
8
9
10
11
12
        button1.addActionListener(
            new ActionListener() 
            {
                public void actionPerformed(ActionEvent e) {
                    if (button1.getBackground() != Color.GRAY){ // deze dus
                        button1.setBackground(Color.gray); // deze dus
                    } else {
                        button1.setBackground(Color.white); // deze dus
                    }
                }
            }
        );


offtopic:
Het voelt alsof ik achterlijk (aan het worden) ben...
Kwestie van in de loop de actionlistener aan de button hangen. Button1 bestaat nu niet in je context, het is buttons[1] die je dan moet hebben.

Acties:
  • 0 Henk 'm!

  • Vulchare
  • Registratie: December 2013
  • Laatst online: 14-10 17:14
Hier het resultaat :)

Ik moest enkel de array finalizen en de ActionListeners verwijzen naar de juiste button.

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
final JButton[] buttons = new JButton[35];
        for(int i=0; i < 3; i++) {
            buttons[i] = new JButton(); 
            buttons[i].setName("button" + i);
            frame.add(buttons[i]); 
            buttons[i].setText(buttons[i].getName()); 
            buttons[i].setPreferredSize(new Dimension(50, 50)); 
            buttons[i].setBackground(Color.white);
        }
        
        
        buttons[1].addActionListener(
            new ActionListener() 
            {
                public void actionPerformed(ActionEvent e) {
                    if (buttons[1].getBackground() != Color.GRAY && buttons[1].getText() != ""){
                        buttons[1].setBackground(Color.gray);
                    } else {
                        buttons[1].setBackground(Color.white);
                    }
                }
            }
        );


Bedankt!

[ Voor 1% gewijzigd door Vulchare op 07-05-2014 14:13 . Reden: aanpassing code ]


Acties:
  • 0 Henk 'm!

  • Merethil
  • Registratie: December 2008
  • Laatst online: 14-10 14:36
Vulchare schreef op woensdag 07 mei 2014 @ 13:36:
Hier het resultaat :)

Ik moest enkel de array finalizen en de ActionListeners verwijzen naar de juiste button.

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
final JButton[] buttons = new JButton[35];
        for(int i=0; i < 3; i++) {
                    final int j = i;
            buttons[i] = new JButton(); 
            buttons[i].setName("button" + i);
            frame.add(buttons[i]); 
            buttons[i].setText(buttons[i].getName()); 
            buttons[i].setPreferredSize(new Dimension(50, 50)); 
            buttons[i].setBackground(Color.white);
        }
        
        
        buttons[1].addActionListener(
            new ActionListener() 
            {
                public void actionPerformed(ActionEvent e) {
                    if (buttons[1].getBackground() != Color.GRAY && buttons[1].getText() != ""){
                        buttons[1].setBackground(Color.gray);
                    } else {
                        buttons[1].setBackground(Color.white);
                    }
                }
            }
        );


Bedankt!
Nu heb je alleen buttons[1] die een actionlistener gekoppeld heeft he!? Mocht je ze allemaal een actionlistener toe willen wijzen kan je dat óf in je loop, of allemaal los achter elkaar doen.
Handiger is om de actionlistener te koppelen in je loop omdat je dan een hoop minder code hebt.

Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
Vulchare schreef op woensdag 07 mei 2014 @ 13:36:
Hier het resultaat :)

Ik moest enkel de array finalizen en de ActionListeners verwijzen naar de juiste button.
Je moet wel ff nadenken over code en niet klakkeloos wat je vindt copy-pasten. Je hangt nu iedere keer de actionlistener aan hetzelfde button object, index 1 (2e element) in de array.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Merethil
  • Registratie: December 2008
  • Laatst online: 14-10 14:36
Hydra schreef op woensdag 07 mei 2014 @ 13:50:
[...]


Je moet wel ff nadenken over code en niet klakkeloos wat je vindt copy-pasten. Je hangt nu iedere keer de actionlistener aan hetzelfde button object, index 1 (2e element) in de array.
Valt buiten de loop dus hij hangt maar éénmaal de actionlistener aan dat ene element, de rest doet dus niets. Wat ik hierboven dus al zei.

@Vulchare waarom doe je trouwens een final int j = i; ? Ten eerste ben je nu een final aan het aanmaken elke keer dat je door de loop heen loopt, wordt de final vernietigd aan het eind van de loop en doe je er in de loop zelf niets mee.
Vulchare schreef op woensdag 07 mei 2014 @ 13:54:
Klopt, maar elke button heeft een unieke actie. Kan ik per button aanwijzen aan welke ActionListener deze gekoppeld moet worden als ik dit binnen de loop doe?
Kwestie van differentiëren per button. Je zou een switch kunnen maken waarin je aangeeft welke actionlistener er aan de button moet, maar waarom zou je 35 buttons met verschillende actionlisteners willen hebben die allemaal een andere functie uitvoeren? Je haalt nu met de loop wel wát code eruit, maar of dit dan de oplossing is... Je krijgt nu alsnog 35 actionlisteners.

[ Voor 52% gewijzigd door Merethil op 07-05-2014 13:56 ]


Acties:
  • 0 Henk 'm!

  • Vulchare
  • Registratie: December 2013
  • Laatst online: 14-10 17:14
Klopt, maar elke button heeft een unieke actie. Kan ik per button aanwijzen aan welke ActionListener deze gekoppeld moet worden als ik dit binnen de loop doe?
Valt buiten de loop dus hij hangt maar éénmaal de actionlistener aan dat ene element, de rest doet dus niets. Wat ik hierboven dus al zei.

@Vulchare waarom doe je trouwens een final int j = i; ? Ten eerste ben je nu een final aan het aanmaken elke keer dat je door de loop heen loopt, wordt de final vernietigd aan het eind van de loop en doe je er in de loop zelf niets mee.
Foutje, die heb ik eruit gehaald :)
Kwestie van differentiëren per button. Je zou een switch kunnen maken waarin je aangeeft welke actionlistener er aan de button moet, maar waarom zou je 35 buttons met verschillende actionlisteners willen hebben die allemaal een andere functie uitvoeren? Je haalt nu met de loop wel wát code eruit, maar of dit dan de oplossing is... Je krijgt nu alsnog 35 actionlisteners.
Ik wilde graag iets tastbaars maken, met een iets moeilijkere syntax dan bijvoorbeeld steen papier schaar. Het resultaat is Yahtzee geworden
Volgende acties(20) heb ik:

Vasthouden van dobbelsteen (5 acties)
gooien van dobbelstenen
1 t/m 6 (6 acties)
full house
straat
grote straat
kans
yahtzee
3 of a kind
4 of a kind
nieuw spel

Voor het vasthouden van de dobbelstenen kan ik wel iets verzinnen, de acties hiervoor zijn toch allemaal hetzelfde alleen een andere button. Hetzelfde geldt voor 1 t/m 6.

Resterende buttons zijn voor het bijhouden van de score.

[ Voor 81% gewijzigd door Vulchare op 07-05-2014 14:13 ]


Acties:
  • 0 Henk 'm!

  • LinuX-TUX
  • Registratie: December 2003
  • Laatst online: 14-10 12:59
Klinkt bijna als een school opdracht, je zou toch pas in Augustus beginnen met een opleiding? Of ben je alvast vooruit aan het lopen op de zaken? Mag ik vragen wat ze tegenwoordig voor java boeken/readers ze hiervoor adviseren?

Je bent in ieder geval goed op weg. Mijn tip, leer conceptueel en punctueel om te gaan met programmeren. Stippel uit voordat je begint en begrijp wat je aan het doen bent (stap voor stap). Leer design patterns en toegepaste gebruiken ervan. Pak een IDE en begin met ontdekken van alle API's.

Het kostte mij ook echt een paar jaar voor ik OO & design patterns goed onder de knie had en ik heb het meerendeel buiten school geleerd en niet op school zelf.


Wat hieronder dus voor je is uitgeschreven. Had je kunnen weten als je de API's leest. Als je dat niet doet, had je het kunnen ontdekken dmv een IDE. (even autocomplete lijst doorlopen welke parameter wat in zich heeft etc etc)

[ Voor 63% gewijzigd door LinuX-TUX op 07-05-2014 15:26 ]


Acties:
  • 0 Henk 'm!

  • epic007
  • Registratie: Februari 2004
  • Laatst online: 07-10 10:46
In je eventlistener krijg je een ActionEvent e mee:

Java:
1
2
3
4
5
6
7
public void actionPerformed(ActionEvent e) { 
    if (buttons[1].getBackground() != Color.GRAY && buttons[1].getText() != ""){ 
        buttons[1].setBackground(Color.gray); 
    } else { 
        buttons[1].setBackground(Color.white); 
    } 
} 


Hiermee kan je de button achterhalen waarop geklikt wordt. Zo kan je een generieke eventhandler maken.

Java:
1
2
3
4
5
public void actionPerformed(ActionEvent e) { 
   Object source = e.getSource();
   JButton deButton = (JButton)source; // <= Dit is de button waarop geklikt is !!
   deButton.setBackground(...);
} 

Acties:
  • 0 Henk 'm!

  • Vulchare
  • Registratie: December 2013
  • Laatst online: 14-10 17:14
LinuX-TUX schreef op woensdag 07 mei 2014 @ 15:19:
Klinkt bijna als een school opdracht, je zou toch pas in Augustus beginnen met een opleiding? Of ben je alvast vooruit aan het lopen op de zaken? Mag ik vragen wat ze tegenwoordig voor java boeken/readers ze hier tegenwoordig voor adviseren?

Je bent in ieder geval goed op weg. Mijn tip, leer conceptueel en punctueel om te gaan met programmeren. Stippel uit voordat je begint en begrijp wat je aan het doen bent (stap voor stap). Leer design patterns en toegepaste gebruiken ervan. Pak een IDE en begin met ontdekken van alle API's.

Het kostte mij ook echt een paar jaar voor ik OO & design patterns goed onder de knie had en ik heb het meerendeel buiten school geleerd en niet op school zelf.
Ik ben al enige tijd op eigen initiatief bezig met Java. Begonnen met Udacity(icm BlueJ wat overigens een erg simpele IDE is, binnenkort Eclipse of Netbeans even proberen), http://chortle.ccsu.edu/java5/index.html en Head First Java.

Mogelijkheid is om begin augustus/september te beginnen met OO programmeren met Java 1 op de OU, maar er is nog niets definitief.
epic007 schreef op woensdag 07 mei 2014 @ 15:22:
In je eventlistener krijg je een ActionEvent e mee:

Java:
1
2
3
4
5
6
7
public void actionPerformed(ActionEvent e) { 
    if (buttons[1].getBackground() != Color.GRAY && buttons[1].getText() != ""){ 
        buttons[1].setBackground(Color.gray); 
    } else { 
        buttons[1].setBackground(Color.white); 
    } 
} 


Hiermee kan je de button achterhalen waarop geklikt wordt. Zo kan je een generieke eventhandler maken.

Java:
1
2
3
4
5
public void actionPerformed(ActionEvent e) { 
   Object source = e.getSource();
   JButton deButton = (JButton)source; // <= Dit is de button waarop geklikt is !!
   deButton.setBackground(...);
} 
Handig! Met de source kan ik dus ook een voorwaarde inbouwen die alleen runt als de juiste button is geklikt. Vanavond even verder aan werken =)


@LinuX-TUX
offtopic:
Bedoel je met je reactie dat het raadzaam is om de API als het ware te lezen als een boek? of enkel de API die gepaard gaat met de method waarmee ik op dat moment bezig ben (in dit geval ActionEvent).

Watvoor IDE zou je adviseren met een niet al te hoge learning curve?

[ Voor 34% gewijzigd door Vulchare op 07-05-2014 16:13 . Reden: extra reactie ]


Acties:
  • 0 Henk 'm!

  • LinuX-TUX
  • Registratie: December 2003
  • Laatst online: 14-10 12:59
Vulchare schreef op woensdag 07 mei 2014 @ 15:30:
[...]


Ik ben al enige tijd op eigen initiatief bezig met Java. Begonnen met Udacity(icm BlueJ wat overigens een erg simpele IDE is, binnenkort Eclipse of Netbeans even proberen), http://chortle.ccsu.edu/java5/index.html en Head First Java.

Mogelijkheid is om begin augustus/september te beginnen met OO programmeren met Java 1 op de OU, maar er is nog niets definitief.


[...]


Handig! Met de source kan ik dus ook een voorwaarde inbouwen die alleen runt als de juiste button is geklikt. Vanavond even verder aan werken =)


@LinuX-TUX
offtopic:
Bedoel je met je reactie dat het raadzaam is om de API als het ware te lezen als een boek? of enkel de API die gepaard gaat met de method waarmee ik op dat moment bezig ben (in dit geval ActionEvent).

Watvoor IDE zou je adviseren met een niet al te hoge learning curve?
Yes, altijd API's lezen. Niet als droge koek/een boek van A tot Z, maar pas als je ze gaat aanraken. Dus als je begint met een idee om een 'pop-up' venster te gaan gebruiken, kijk dan eerst wat de verschillende mogelijkheden zijn met (J)Frame's en JDialogs voordat je er 1 op pakt. Als je al een object in handen hebt en je weet ongeveer wat je ermee wilt gaan doen, ga dan niet bij de eerste beste method er vanuit dat je de heilige graal hebt als je dan zelf nog een paar acties erover moet uitvoeren. Misschien heeft datzelfde object al een methode om gelijk te geven wat je wilt hebben.

Zelf ben ik old-school begonnen in notepad & vi(m) :') om java te programmeren, dus ik was gedwongen om alle API's te lezen van het net. (niet echt handig)

IDE's zijn persoonlijk. Ene vindt Eclipse het einde, de ander IntelliJ. Zelf houd ik het bij Netbeans, meer omdat het meerdere talen ondersteund en ik de layout geweldig vind. De overstap van Eclipse naar Netbeans heb ik in 2008 gedaan, toen Eclipse nog leed aan enorm slechte performance door de plugin loader. Daarna ben ik gewend geraakt aan Netbeans en moet ik zeggen dat ik niet meer normaal kan debuggen onder Eclipse (vind het een gruwelijke layout)
Nogmaals, dit is allemaal persoonlijk! (mensen om me heen zijn helemaal lyrisch over IntelliJ, daar heb ik zelf geen ervaring mee)

Bijkomende voordelen van een IDE:
• Veelal de API direct tot je beschikking, vraag je je af wat een object voor methodes ter beschikking stelt, kan je het direct lezen
• Debuggen. En debuggen is HEEL belangrijk om te kunnen, zeker als dingen wat complexer gaan worden. (of als je lui bent, beperkingen kent en in 1 run alles in elkaar wilt flansen :+ )
Pagina: 1