Java/Swing/Event - Hur placerar ni klasserna?

Permalänk
Medlem

Java/Swing/Event - Hur placerar ni klasserna?

Tja!

Hur gör ni, användare av sweclockers, när ni skriver era Swingprogram? Hur placerar ni Events, och övrig kod? Allt är av intresse.

Exempel på hur man gör med events (tror jag:))

I egna klasser i er klass som såhär:

public class EnKlass{ //massa kod button1.addActionListener(new ExitListener()); //massa kod private class ExitListener implements ActionListener{ actionPerformed(ActionEvent e){ //blablabla } } }

Eller implementerer ni det direkt i klassen?

public class Ram extends JFrame implements ActionListener{ //Massakod button1.addActionListener(this); actionPerformed(ActionEvent e){ if(e.getSource() == button1){ //do.. } //blablabla } }

Eller hur gör ni? Alla åsikter är inressant.

Permalänk

Sitter just nu med Java i Programmering C-kursen på gymnasiet och hitills har jag kört på med .addActionListener(this) då programmen vi hitills har utvecklat ännu inte har inkluderat något speciellt avancerat UI. Vet inte hur jag ska göra senare då jag inte läst på om de olika metoderna men just nu lutar det mot ditt övre exempel.

Permalänk
Medlem

Ett alternativ jag hittade bland min gamla kod:

connectButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { connectButtonActionPerformed(); } });

Slipper extra klasser och samtidigt får varje knapp en egen metod (med lättläst namn etc.) så man slipper testa på evt.getSource().

Permalänk
Medlem

I mitt nuvarande projekt implementerar jag lyssnarna i klassen och använder xxx.addXxxListener( this ). I enstaka fall gör jag en egen klass av det.
Att skapa ett nytt objekt som användaren ovan anger tycker jag gör koden rörig.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Garret
I mitt nuvarande projekt implementerar jag lyssnarna i klassen och använder xxx.addXxxListener( this ). I enstaka fall gör jag en egen klass av det.
Att skapa ett nytt objekt som användaren ovan anger tycker jag gör koden rörig.

Har du en enda stor klass för ditt GUI då? Utifrån vilket mönster eller vad man ska säga skapar du dina klasser i? Gör du tex public class PersonligTextField extends JTextField implements ActionListener för nåt kul textfält du har?

Permalänk
Medlem

Har läst färdigt Prog C i julas, och har ett tyngre programerings-projekt som projektarbete.

Jag använder NetBeans IDE, tycker det är smidigt att arbeta där, och då blir koden automatiskt som Tzu beskrev. Blir visserligen en hel del kod, men eftersom NetBeans håller koll på alla sånna saker, så blir det ändå lätt-överskådligt och enkelt att använda

Permalänk
Medlem

Kejsarn: Nej, jag delar upp mitt GUI i vad jag anser vara passande klasser. Jag har ingen superkoll på vad/om det finns några mönster för grafiska gränssnitt.

kd35a: Antar att du använder en visuell editor när du säger att den "blir så automatiskt".