Witajcie,
mam problem z utworzeniem buttona "%" w javie. Mój kalkulator dzieli, mnoży, dodaje spoko pierwiastek też, ale nie moge ogarnąć procentu.
Czy uzyskam pomoc?
kod:
package kalkulatorDOM;
import java.awt.EventQueue;
import java.util.EventObject;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.io.ObjectInputStream.GetField;
import javax.swing.JPanel;
public class alkokalko {
private JFrame frame;
private JTextField txtWyswietl;
private double wynik1 = 0.0;
private double wynik2 = 0.0;
private double wynik3 = 0.0;
private char znak;
private void getOperator(String btnText){
znak = btnText.charAt(0);
wynik1 = wynik1 + Double.parseDouble(txtWyswietl.getText());
txtWyswietl.setText("");
}
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
alkokalko window = new alkokalko();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public alkokalko()
{
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setResizable(false);
frame.setBounds(100, 100, 401, 337);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JPanel text = new JPanel();
text.setBounds(11, 0, 384, 53);
frame.getContentPane().add(text);
text.setLayout(null);
txtWyswietl = new JTextField();
txtWyswietl.setBounds(10, 6, 298, 40);
text.add(txtWyswietl);
txtWyswietl.setColumns(10);
JButton btnWyczysc = new JButton("C");
btnWyczysc.setBounds(318, 6, 40, 40);
text.add(btnWyczysc);
btnWyczysc.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
wynik2 = 0;
txtWyswietl.setText("");
wynik3 = 0;
txtWyswietl.setText("");
}
});
JPanel liczby = new JPanel();
liczby.setBounds(0, 52, 239, 257);
frame.getContentPane().add(liczby);
liczby.setLayout(null);
JButton btnSiedem = new JButton("7");
btnSiedem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
String btnSiedemTekst = txtWyswietl.getText() + btnSiedem.getText();
txtWyswietl.setText( btnSiedemTekst );
}
});
btnSiedem.setBounds(23, 5, 50, 50);
liczby.add(btnSiedem);
JButton btnOsiem = new JButton("8");
btnOsiem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String btnOsiemTekst = txtWyswietl.getText() + btnOsiem.getText();
txtWyswietl.setText( btnOsiemTekst );
}
});
btnOsiem.setBounds(83, 5, 50, 50);
liczby.add(btnOsiem);
JButton btnDziewięć = new JButton("9");
btnDziewięć.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {String btnDziewięćTekst = txtWyswietl.getText() + btnDziewięć.getText();
txtWyswietl.setText( btnDziewięćTekst );
}
});
btnDziewięć.setBounds(143, 5, 50, 50);
liczby.add(btnDziewięć);
JButton btnCztery = new JButton("4");
btnCztery.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String btnCzteryTekst = txtWyswietl.getText() + btnCztery.getText();
txtWyswietl.setText( btnCzteryTekst );
}
});
btnCztery.setBounds(23, 66, 50, 50);
liczby.add(btnCztery);
JButton btnPięć = new JButton("5");
btnPięć.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String btnPięćTekst = txtWyswietl.getText() + btnPięć.getText();
txtWyswietl.setText( btnPięćTekst );
}
});
btnPięć.setBounds(83, 66, 50, 50);
liczby.add(btnPięć);
JButton btnSześć = new JButton("6");
btnSześć.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String btnSześćTekst = txtWyswietl.getText() + btnSześć.getText();
txtWyswietl.setText( btnSześćTekst );
}
});
btnSześć.setBounds(143, 66, 50, 50);
liczby.add(btnSześć);
JButton btnJeden = new JButton("1");
btnJeden.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String btnJedenTekst = txtWyswietl.getText() + btnJeden.getText();
txtWyswietl.setText(btnJedenTekst);
}
});
btnJeden.setBounds(23, 127, 50, 50);
liczby.add(btnJeden);
JButton btnDwa = new JButton("2");
btnDwa.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String btnDwaTekst = txtWyswietl.getText() + btnDwa.getText();
txtWyswietl.setText( btnDwaTekst );
}
});
btnDwa.setBounds(83, 127, 50, 50);
liczby.add(btnDwa);
JButton btnTrzy = new JButton("3");
btnTrzy.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String btnTrzyTekst = txtWyswietl.getText() + btnTrzy.getText();
txtWyswietl.setText( btnTrzyTekst );
}
});
btnTrzy.setBounds(143, 127, 50, 50);
liczby.add(btnTrzy);
JButton btnPrzecinek = new JButton(",");
btnPrzecinek.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String btnPrzecinekTekst = txtWyswietl.getText() + btnPrzecinek.getText();
txtWyswietl.setText( btnPrzecinekTekst );
}
});
btnPrzecinek.setBounds(143, 188, 50, 50);
liczby.add(btnPrzecinek);
JButton btnZero = new JButton("0");
btnZero.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
String btnZeroTekst = txtWyswietl.getText() + btnZero.getText();
txtWyswietl.setText( btnZeroTekst );
}
});
btnZero.setBounds(23, 188, 110, 50);
liczby.add(btnZero);
JPanel funkcje = new JPanel();
funkcje.setBounds(249, 52, 146, 257);
frame.getContentPane().add(funkcje);
funkcje.setLayout(null);
JButton btnMnozenie = new JButton("*");
btnMnozenie.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String tekst_przycisku = btnMnozenie.getText();
getOperator(tekst_przycisku);
}
});
btnMnozenie.setBounds(10, 5, 50, 50);
funkcje.add(btnMnozenie);
JButton btnDzielenie = new JButton("/");
btnDzielenie.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String tekst_przycisku = btnDzielenie.getText();
getOperator(tekst_przycisku);
}
});
btnDzielenie.setBounds(70, 5, 50, 50);
funkcje.add(btnDzielenie);
JButton procent = new JButton("%");
procent.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String tekst_przycisku = procent.getText();
getOperator(tekst_przycisku);
}
});
procent.setBounds(10, 188, 50, 50);
funkcje.add(procent);
JButton btnx = new JButton("1/x");
btnx.setBounds(10, 127, 50, 50);
funkcje.add(btnx);
btnx.setToolTipText("");
JButton btnMinus = new JButton("-");
btnMinus.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String tekst_przycisku = btnMinus.getText();
getOperator(tekst_przycisku);
}
});
btnMinus.setBounds(10, 66, 50, 50);
funkcje.add(btnMinus);
JButton btnPlus = new JButton("+");
btnPlus.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String tekst_przycisku = btnPlus.getText();
getOperator(tekst_przycisku);
}
});
btnPlus.setBounds(70, 66, 50, 50);
funkcje.add(btnPlus);
JButton pierw = new JButton("\u221A");
pierw.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String tekst_przycisku = pierw.getText();
getOperator(tekst_przycisku);
}
});
pierw.setBounds(70, 127, 50, 50);
funkcje.add(pierw);
JButton btnWynik = new JButton("=");
btnWynik.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
switch ( znak ) {
case '+':
wynik2 = wynik1 + Double.parseDouble(txtWyswietl.getText());
break;
case '-':
wynik2 = wynik1 - Double.parseDouble(txtWyswietl.getText());
break;
case '/':
wynik2 = wynik1 / Double.parseDouble(txtWyswietl.getText());
break;
case '*':
wynik2 = wynik1 * Double.parseDouble(txtWyswietl.getText());
break;
case '\u221A':
wynik2 = Math.sqrt(wynik1);
break;
case '%':
wynik3 = wynik2 / 100;
break;
}
txtWyswietl.setText( Double.toString(wynik3));
txtWyswietl.setText( Double.toString(wynik2));
wynik1 = 0;
}
});
btnWynik.setBounds(70, 188, 50, 50);
funkcje.add(btnWynik);
}
}