Not a JDEE question really.... Anyhow...here it goes...
(defun electric-open-delimeter () "Automatically insert matching delimeter." (interactive) (self-insert-command 1) (let* ((arg (elt (recent-keys) 99)) (key-match (assoc arg '((?\( . ?\)) (?\{ . ?\}) (?\[ . ?\]) (?\" . ?\") (?\' . ?\') (?\< . ?\>)))) ) (if key-match (progn (insert (cdr key-match)) (backward-char) ) ) ) ) (local-set-key (kbd "(") 'electric-open-delimeter) (local-set-key (kbd "{") 'electric-open-delimeter) (local-set-key (kbd "[") 'electric-open-delimeter) (local-set-key (kbd "\"") 'electric-open-delimeter) (local-set-key (kbd "'") 'electric-open-delimeter) (local-set-key (kbd "<") 'electric-open-delimeter)