Como posso adicionar teclas de atalho pro usuário não ter de clicar no mouse, simplesmente apertar uma tecla do teclado?
Ficaria bem mais prático na calculadora abaixo.
[code]package calculator_swing;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JTextField;
/**
*
-
@author 1193899
*/
public class Main {
public static JFrame frame; // frame
public static JTextField visu; // visor
public static JButton bt1,bt2,bt3,bt4,bt5,bt6,bt7,bt8,bt9,bt0; //Botões para a calculadora;
public static JButton btsoma, btdiv, btmul, btsub, btlimp, btvirg,btneg; // botoes de ações
public static JButton igual,posNeg,virgula;
static char op;
static String temp;
static double num1,num2,res,temp2;public static void main(String[] args) {
frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(null); frame.setTitle("CALCULADORA"); frame.setSize(275,400); visu=new JTextField(); visu.setBounds(20,20,230,25); visu.setVisible(true); frame.add(visu); btsoma=new JButton(); btsoma.setText("+"); btsoma.setBounds(200,60,50,50); btsoma.setVisible(true); btsoma.addActionListener((ActionListener) new ActionListener() { public void actionPerformed(ActionEvent evt) { temp=visu.getText(); num1=Double.parseDouble(temp); op='+'; visu.setText(""); } }); frame.add(btsoma); btsub=new JButton(); btsub.setText("-"); btsub.setBounds(200,120,50,50); btsub.setVisible(true); frame.add(btsub); btsub.addActionListener((ActionListener) new ActionListener() { public void actionPerformed(ActionEvent evt) { temp=visu.getText(); num1=Double.parseDouble(temp); op='-'; visu.setText(""); } }); btmul=new JButton(); btmul.setText("*"); btmul.setBounds(200,180,50,50); btmul.setVisible(true); frame.add(btmul); btmul.addActionListener((ActionListener) new ActionListener() { public void actionPerformed(ActionEvent evt) { temp=visu.getText(); num1=Double.parseDouble(temp); op='*'; visu.setText(""); } }); btdiv=new JButton(); btdiv.setText("/"); btdiv.setBounds(200,240,50,50); btdiv.setVisible(true); frame.add(btdiv); btdiv.addActionListener((ActionListener) new ActionListener() { public void actionPerformed(ActionEvent evt) { temp=visu.getText(); num1=Double.parseDouble(temp); op='/'; visu.setText(""); } }); btlimp=new JButton(); btlimp.setText("C"); btlimp.setBounds(20,60,170,50); btlimp.setVisible(true); frame.add(btlimp); btlimp.addActionListener((ActionListener) new ActionListener() { public void actionPerformed(ActionEvent evt) { temp=""; num1=0; num2=0; res=0; temp2=0; visu.setText(""); } }); bt1=new JButton(); bt1.setText("1"); bt1.setBounds(20,240,50,50); bt1.setVisible(true); bt1.addActionListener((ActionListener) new ActionListener() { public void actionPerformed(ActionEvent evt) { temp=visu.getText(); temp=temp+"1"; visu.setText(temp); } }); frame.add(bt1); bt2=new JButton(); bt2.setText("2"); bt2.setBounds(80,240,50,50); bt2.setVisible(true); frame.add(bt2); bt2.addActionListener((ActionListener) new ActionListener() { public void actionPerformed(ActionEvent evt) { temp=visu.getText(); temp=temp+"2"; visu.setText(temp); } }); bt3=new JButton(); bt3.setText("3"); bt3.setBounds(140,240,50,50); bt3.setVisible(true); frame.add(bt3); bt3.addActionListener((ActionListener) new ActionListener() { public void actionPerformed(ActionEvent evt) { temp=visu.getText(); temp=temp+"3"; visu.setText(temp); } }); bt4=new JButton(); bt4.setText("4"); bt4.setBounds(20,180,50,50); bt4.setVisible(true); frame.add(bt4); bt4.addActionListener((ActionListener) new ActionListener() { public void actionPerformed(ActionEvent evt) { temp=visu.getText(); temp=temp+"4"; visu.setText(temp); } }); bt5=new JButton(); bt5.setText("5"); bt5.setBounds(80,180,50,50); bt5.setVisible(true); frame.add(bt5); bt5.addActionListener((ActionListener) new ActionListener() { public void actionPerformed(ActionEvent evt) { temp=visu.getText(); temp=temp+"5"; visu.setText(temp); } }); bt6=new JButton(); bt6.setText("6"); bt6.setBounds(140,180,50,50); bt6.setVisible(true); frame.add(bt6); bt6.addActionListener((ActionListener) new ActionListener() { public void actionPerformed(ActionEvent evt) { temp=visu.getText(); temp=temp+"6"; visu.setText(temp); } }); bt7=new JButton(); bt7.setText("7"); bt7.setBounds(20,120,50,50); bt7.setVisible(true);
frame.add(bt7);
bt7.addActionListener((ActionListener) new ActionListener() {
public void actionPerformed(ActionEvent evt) {
temp=visu.getText();
temp=temp+“7”;
visu.setText(temp);} }); bt8=new JButton(); bt8.setText("8"); bt8.setBounds(80,120,50,50); bt8.setVisible(true);
frame.add(bt8);
bt8.addActionListener((ActionListener) new ActionListener() {
public void actionPerformed(ActionEvent evt) {
temp=visu.getText();
temp=temp+“8”;
visu.setText(temp);} }); bt9=new JButton(); bt9.setText("9"); bt9.setBounds(140,120,50,50); bt9.setVisible(true);
frame.add(bt9);
bt9.addActionListener((ActionListener) new ActionListener() {
public void actionPerformed(ActionEvent evt) {
temp=visu.getText();
temp=temp+“9”;
visu.setText(temp);} }); bt0=new JButton(); bt0.setText("0"); bt0.setBounds(20,300,50,50); bt0.setVisible(true);
frame.add(bt0);
bt0.addActionListener((ActionListener) new ActionListener() {
public void actionPerformed(ActionEvent evt) {
temp=visu.getText();
temp=temp+“0”;
visu.setText(temp);} }); virgula=new JButton(); virgula.setText(","); virgula.setBounds(80,300,50,50); virgula.setVisible(true);
frame.add(virgula);
virgula.addActionListener((ActionListener) new ActionListener() {
public void actionPerformed(ActionEvent evt) {
temp=visu.getText();
temp=temp+".";
visu.setText(temp);} }); igual=new JButton(); igual.setText("="); igual.setBounds(140,300,50,50); igual.setVisible(true);
frame.add(igual);
igual.addActionListener((ActionListener) new ActionListener() {
public void actionPerformed(ActionEvent evt) {
temp=visu.getText();
num2=Double.parseDouble(temp);
switch(op){
case ‘+’:
res=num1+num2;
break;
case ‘-’:
res=num1-num2;
break;
case ‘/’:
res=num1/num2;
break;
case '’:
res=num1num2;
break;
}
visu.setText(""+res);} }); posNeg=new JButton(); posNeg.setText("+ -"); posNeg.setBounds(200,300,50,50); posNeg.setVisible(true); frame.add(posNeg); posNeg.addActionListener((ActionListener) new ActionListener() { public void actionPerformed(ActionEvent evt) { temp=visu.getText(); temp2=Double.parseDouble(temp); temp2=temp2*-1; visu.setText(""+temp2); } }); frame.setVisible(true);
}
} [/code]