Il metodo setComponentPopupMenu è stato introdotto in Java 5 e serve principalmente per non dover implementare tutti i meccanismi a basso livello con gli eventi del mouse (cosa che era necessaria prima di Java 5). Il metodo riceve un JPopupMenu cioè appunto il menù di popup.
Sfruttando le action predefinite in javax.swing.text.DefaultEditorKit è possibile fare una implementazione "ridicolmente" breve:
codice:JTextField textField = ........... JPopupMenu textContextMenu = new JPopupMenu(); textContextMenu.add(new DefaultEditorKit.CopyAction()); textContextMenu.add(new DefaultEditorKit.CutAction()); textContextMenu.add(new DefaultEditorKit.PasteAction()); textField.setComponentPopupMenu(textContextMenu);
(nota: va importato javax.swing.text.DefaultEditorKit )
E copia/taglia/incolla funzionano perfettamente. L'unico difetto è che con solo questo codice restano le diciture che sono "cablate" nelle action e che non sono il massimo .....
Basterebbe fare un piccolo metodo statico che riceve la Action, setta la proprietà NAME con putValue e restituisce la Action.

 
			
			 Originariamente inviata da giannino1995
 Originariamente inviata da giannino1995
					
 
					
					
					
						 Rispondi quotando
  Rispondi quotando