Toon posts:

[JAVA applet] Tekst editor

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb me voorgenomen om vannavond, tijdens het CL voetbal, een tekst editor te maken in een java applet, waarvoor ik het ga gebruiken weet ik nog niet maar het leek mij wel handig :) Misschien dat ik het ooit als CMS ga gebruiken maar dat zie ik dan wel... en ik weet ook wel dat er andere manieren zijn.

Nu zat ik er aan te denken om alle toetsindrukken op te vangen en dan hieraan de desbetrefende actie te hangen, dus evensimpel als er op "a" gedrukt wordt dat dan "a" aan de string wordt toegevoegd. Dit gaat ook wel lukken maar ik vraag me toch af of er geen andere manieren zijn om een text editor te maken.
Want om zo'n opzet een beetje gebruiksvriendelijk te maken lijkt mij een beetje omslachtig :)

[ Voor 6% gewijzigd door Verwijderd op 23-04-2003 16:30 ]


  • momania
  • Registratie: Mei 2000
  • Laatst online: 17:50

momania

iPhone 30! Bam!

Verwijderd schreef op 23 April 2003 @ 16:28:
Nu zat ik er aan te denken om alle toetsindrukken op te vangen en dan hieraan de desbetrefende actie te hangen, dus evensimpel als er op "a" gedrukt wordt dat dan "a" aan de string wordt toegevoegd.
:? Verklaar u nader, dit snap ik echt niet...

Neem je whisky mee, is het te weinig... *zucht*


Verwijderd

Topicstarter
momania schreef op 23 April 2003 @ 16:30:
[...]

:? Verklaar u nader, dit snap ik echt niet...
Met toetsenbord events.
Dus door met de interface 'KeyListener' een 'KeyEvent' op te vangen namelijk 'keyTyped()'.

Stel je voor ik heb een string genaamd:
String inhoud;
deze teken ik in de applet:
g,drawString(inhoud,10,10);
Als er dan op een toest gedrukt wordt, wordt deze 'keyevent' opgevangen door 'KeyListener' die dan via 'keyTyped()' de applet verteld op welke toest gedrukt is. Dit karakter wordt dan aan de string toegevoegd:
public void keyTyped(KeyEvent e) {
inhoud+=e.getKeyChar();
repaint();
}

En daarna wordt de applet hertekend.

[ Voor 7% gewijzigd door Verwijderd op 23-04-2003 16:40 ]


  • momania
  • Registratie: Mei 2000
  • Laatst online: 17:50

momania

iPhone 30! Bam!

Waarom gebruik je niet gewoon een TextArea ? Je wilt toch een editor maken of moet het persee write-only worden?

Mocht je het wel zo willen gaan doen als je aangeeft, gebruik dan iig een StringBuffer en de append() en de toString() methodes ervan.

de constructie <string> += <andere string> vreet nogal performance, vanwege te temp. String objecten en zeker in een applet vorm met de paint dit soort programmaatjes maken krijg je bij te snel typen een mooie dia-show van je applet te zien ;)

[ Voor 64% gewijzigd door momania op 23-04-2003 16:44 ]

Neem je whisky mee, is het te weinig... *zucht*


Verwijderd

Topicstarter
momania schreef op 23 April 2003 @ 16:41:
Waarom gebruik je niet gewoon een TextArea ? Je wilt toch een editor maken of moet het persee write-only worden?
Omdat ik er naar toe wil dat er een opmaak aan toegevoegd kan worden. En eventueel plaatjes en misschien alles wat een wysiwyg kan.

ps. Ik heb het over de taal java niet javascript

  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
java.awt.* ? javax.swing.*?

  • momania
  • Registratie: Mei 2000
  • Laatst online: 17:50

momania

iPhone 30! Bam!

Verwijderd schreef op 23 April 2003 @ 16:43:
[...]
ps. Ik heb het over de taal java niet javascript
ik ook ;)
Kijk ook eens naar de JTextPane als je het met swing wil gaan doen.

Neem je whisky mee, is het te weinig... *zucht*


Verwijderd

Topicstarter
momania schreef op 23 April 2003 @ 16:54:
Kijk ook eens naar de JTextPane als je het met swing wil gaan doen.
Oke bedankt :)

trouwens ik kwam net dit tegen:
http://www.editlet.com/editor/main_content.jsp
Dit lijkt mij wel leuk om te maken ;)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Tenzij je borsten hebt om nat te maken, zou ik me toch 2 keer bedenken om met JTextComponents aan de slag te gaan. Ik ben wel eens bezig geweest met een syntax highlighter, maar het zit echt vervelend (en bagger traag) in elkaar.
Pagina: 1