Quando ha a che fare con interfacce utente grafiche (GUI) ed e aggiungendo funzionalità grafica risonante e integrazione di applicazioni Java, Java Foundation Classes o JFC, ottenere il lavoro fatto. JFC ha molte caratteristiche avanzate ed efficienti che direttamente in rete con i componenti GUI, come Swing e Java 2D. Questi application programming interface o API, hanno controlli CCP (tagliare, copiare e incollare) che possono lavorare con il testo e non di testo o elementi GUI.
Istruzioni
1
Inserire il codice seguente nella mappa azione installare tagliare, copiare e incollare le azioni dei componenti Java Swing:
private void setMappings (JList lista) {
ActionMap map = list.getActionMap();
map.put(TransferHandler.getCutAction().getValue(Action.NAME),
TransferHandler.getCutAction());
map.put(TransferHandler.getCopyAction().getValue(Action.NAME),
TransferHandler.getCopyAction());
map.put(TransferHandler.getPasteAction().getValue(Action.NAME),
TransferHandler.getPasteAction());
2
Aggiungere il seguente frammento di codice per impostare le associazioni di CCP a mappa di input del progetto:
richiesto solo se non avete impostato i tasti di scelta rapida dal menu
InputMap imap = this.getInputMap();
imap.put(KeyStroke.getKeyStroke("ctrl X"),
TransferHandler.getCutAction().getValue(Action.NAME));
imap.put(KeyStroke.getKeyStroke("ctrl C"),
TransferHandler.getCopyAction().getValue(Action.NAME));
imap.put(KeyStroke.getKeyStroke("ctrl V"),
TransferHandler.getPasteAction().getValue(Action.NAME));
In alternativa, inserire il seguente codice per attivare il taglio e copiare le azioni dei componenti Java Swing GUI:
menuItem = nuovo JMenuItem("Cut");
menuItem.setActionCommand((String)TransferHandler.getCutAction().
getValue(Action.NAME));
menuItem.addActionListener(actionListener);
menuItem.setAccelerator(
KeyStroke.getKeyStroke(KeyEvent.VK_X, ActionEvent.CTRL_MASK));
menuItem.setMnemonic(KeyEvent.VK_T);
mainMenu.add(menuItem);
3
Aggiungere il seguente codice di classe chiamato TransferActionListener a qualsiasi parte dell'applicazione Swing per designare quale componente deve ricevere l'azione di CCP:
/ public class TransferActionListener implements ActionListener,
PropertyChangeListener {
private JComponent focusOwner = null;
public TransferActionListener() {
KeyboardFocusManager manager = KeyboardFocusManager.
getCurrentKeyboardFocusManager();
manager.addPropertyChangeListener("permanentFocusOwner", this);
}
public void propertyChange(PropertyChangeEvent e) {
Object o = e.getNewValue();
if (o instanceof JComponent) {
focusOwner = (JComponent)o;
} else {
focusOwner = null;
}
}
public void actionPerformed(ActionEvent e) {
if (focusOwner == null)
return;
String action = (String)e.getActionCommand();
Action a = focusOwner.getActionMap().get(action);
if (a != null) {
a.actionPerformed(new ActionEvent(focusOwner,
ActionEvent.ACTION_PERFORMED,
null));
}
}
}
4
Scarica il Kit di sviluppo Java 6 dal sito Web di Oracle e installarlo sulla vostra macchina. Fare clic sul pulsante "Lancio" per eseguire ListCutPaste dal menu principale. Scegli un elemento dagli elenchi visualizzati e utilizzare il menu "Modifica" o la tastiera per tagliare o copiare dall'origine la voce di elenco che si preferisce. Scegliere la voce di elenco in cui si desidera incollare l'oggetto GUI. Incollarla utilizzando il menu modifica o il suo equivalente da tastiera. Questa azione fondamentalmente esegue la stessa operazione di trascinamento della selezione.
Consigli & Avvertenze
- Ci sono vari tutorial gratuito, on-line per Java che si possono praticare su per familiarizzare con questa avanzata applicazione. Puoi anche iscriverti ai forum di discussione che si occupano con Java e chiedere il parere di esperti per saperne di più su questa tecnologia.