Klawisz Skrótu trochę inaczej

0

Witam jak można zrobić skrót do JButton tak by wciśnięcie tylko „1” powodowało akcje ?
Znalazłem u wujka gogle tylko pomoc związana z kombinacją klawiszy Alt , Shift .Podobnie na forum, może jest zbyt późno i nie mogę znaleźć ale jeśli może mi ktoś pomóc będę bardzo wdzięczny.

pozdrawiam

JButton p1 = new JButton("1");
p1.addActionListener(new akcjaa_p1());
add(p1,wytyczne_guzikow,0,4,1,1,left,right,top,bottom);
0

Pomysł wygląda na dość dziwaczny. W jakiej sytuacji button ma reagować na naciśnięcie klawisza "1" ?
Użytkownik wpisuje "1" w jakimś polu tekstowym - button ma zareagować ?
pozdrawiam

0

Chodzi pewno o mnemonik:

b1.setMnemonic(/*kod klawidza*/);
0

Witam.
Mam cos takiego

	      JButton p1 = new JButton("1");
	      p1.addActionListener(new Dolaczenie());
	      add(p1,wytyczne_guzikow,0,4,1,1,left,right,top,bottom);
	      p1.setMnemonic('1');

i działa ale czy da się zrobić tak by użytkownik programu nie musiał trzymac klawisza Alt
znaczy by akcji nie wywoływała kombinacja Alt+1 tylko samo 1. ???
Zależy mi na tym by to nie było przez Alt.

A co do

Pomysł wygląda na dość dziwaczny. W jakiej sytuacji button ma reagować na naciśnięcie klawisza "1" ?
Użytkownik wpisuje "1" w jakimś polu tekstowym - button ma zareagować ?
pozdrawiam

Nie wiem czy dziwny ma to być kalkulator a pole tekstowe jest wypełniane tylko przez akcje przypisana do guzików i metod. Fakt jest że może w innych typach programów było by to dziwne ale w tym wyjątkowym przypadku jest chyba wskazane.

0

Przekonałeś mnie

import java.awt.event.*;
import java.awt.*;
import javax.swing.*;

public class Test extends JFrame implements KeyListener
{
    public static void main(String[] args)
    {
        new Test();
    }
    //------------------------
    public Test()
    {
        super();
        setLayout(new FlowLayout());
        for(int i=1;i<5;i++)
        {
            JButton b=new JButton(""+i);
            b.addKeyListener(this);
            add(b);
        }
        pack();
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
  
  //------------------------
    public void keyPressed(KeyEvent e)
    {
    }
    //------------------------
    public void keyReleased(KeyEvent e)
    {
        System.out.println(""+e.getKeyCode());
    }
    //------------------------
    public void keyTyped(KeyEvent e)
    {
    }
}

pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1