2013-07-23 8 views
0

Je suis très nouveau à java.Je développe un système de gestion des stocks où je veux ajouter les données à la jtable lorsque la touche "ENTRER" est pressé. Mais je ne sais pas comment ne so.i ont recherché sur les liaisons clés, mais rien obtenu utile pour moi à ce stage.here initial est mon action que je veux effectuer à touche enfoncée ..touche java pressée pour effectuer une action

private void addItemActionPerformed(java.awt.event.ActionEvent evt) {           
    int quantity,price; 
    Product p=new Product(); 
    String[] result=new String[8]; 
    String data[]=new String[6]; 
    int i=0; 
    result=p.getInfo(this.addItemField.getText()); 
    for(String s:result){ 
     data[i]=s; 
     i+=1; 
    } 
    data[0]="1"; 
    quantity=Integer.parseInt(data[0]); 
    price=Integer.parseInt(data[5]); 
    int tPrice=price*quantity; 
    data[5]=Integer.toString(tPrice); 
    System.out.println(quantity+" "+price); 
    table.addRow(data); 
    this.addItemField.grabFocus(); 
    } 

et voici mon constructeur par défaut

public SellWindow() { 

    initComponents(); 
    String title[]={"Qty","Code","Name","Unit Value","ml/kg","Line Total","Action"}; 
    entry.getColumnModel().getColumn(0).setPreferredWidth(20); 
    table.setColumnIdentifiers(title); 
    this.entry.setModel(table); 

} 
+1

Votre question n'est pas très claire. Normalement, lorsque vous ajoutez des données à une table, vous devez ajouter plusieurs éléments de données car une ligne contient généralement plusieurs colonnes. Par conséquent, les gens utilisent généralement un modèle JDialog pour recueillir les données. Ensuite, lorsque l'utilisateur saisit les données, il clique sur un bouton "Enregistrer" ou "Annuler". Dans ce cas, vous devez simplement ajouter une ActionListen au bouton pour obtenir les données, puis appeler la méthode addRow() sur le modèle de table. Votre question sur l'utilisation de Enter n'est pas très claire pour moi. Dans tous les cas, n'utilisez PAS un KeyListener. – camickr

+0

Pour [exemple] (http://stackoverflow.com/a/9095442/230513). – trashgod

+0

@camickr je veux dire que l'action est exécutée quand j'ai cliqué sur le bouton (Ajouter un article) .je veux qu'il soit exécuté aussi quand j'ai appuyé sur la touche ENTRER dans le clavier. –

Répondre

1

je veux dire l'action est exécutée lorsque je clique sur le bouton (Ajouter un objet) .Je souhaite qu'il soit exécuté aussi quand j'appuyé sur le ENTRER dans le clavier

Vous pouvez faire un bouton sur la boîte de dialogue le bouton par défaut. Il sera appelé lorsque la touche Entrée est enfoncée. Voir Enter Key and Button pour une solution.

+0

en quelque sorte m'a aidé mais pas les réels ans ..i obtenir d'ici (http://www.dreamincode.net/forums/topic/245148-java-key-binding-tutorial-and-demo-program/) –

+0

@ RahatIslamKhan, ce n'est pas un bon exemple. Ce n'est PAS le moyen d'invoquer un bouton lorsque vous appuyez sur la touche Entrée. – camickr

1

Si les données à ajouter sont saisies dans un JTextField, un actionEvent doit être déclenché lorsque vous p ress entrez.

inputField.addActionListener(listener); 

Où listener est le conteneur de votre méthode actionPerformed.

Mais sinon, allez avec la suggestion de Nizil et utilisez KetListener.

+1

N'utilisez pas un KeyListener. Swing a été conçu pour être utilisé avec les fixations à clé. – camickr

+0

@ GreenGodot dans mon cas son ne se passe pas .. Quand j'ai appuyé sur le bouton ENTRER sur mon clavier rien n'est exécuté. –

Questions connexes