Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.*;
- public class CalculatorKS
- {
- public CalculatorKS()
- {
- //Tworzenie obiektów
- JFrame window = new JFrame();
- JTextField capital = new JTextField();
- JTextField percent = new JTextField();
- JTextField months = new JTextField();
- JTextField result = new JTextField();
- JButton calculate = new JButton();
- //Dodawanie komponentów do okna
- window.add( capital );
- window.add( percent );
- window.add( months );
- window.add( result );
- window.add( calculate );
- //Ustawianie parametrów okna
- window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- window.setSize( 450, 120 );
- window.setLayout( null );
- window.setVisible( true );
- Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
- double w = screenSize.getWidth();
- double h = screenSize.getHeight();
- int width = (int)w/2;
- int height =(int)h/2;
- //Centrowanie okna
- window.setLocation(width-225, height-60);
- //Ustawianie parametrów komponentu - pola tekstowego
- capital.setText( "Kapitał" );
- capital.setSize( 100, 25 );
- capital.setLocation( 10, 10 );
- capital.setVisible( true );
- //Ustawianie parametrów komponentu - pola tekstowego
- percent.setText( "Oprocentowanie" );
- percent.setSize( 100, 25 );
- percent.setLocation( 115, 10 );
- percent.setVisible( true );
- //Ustawianie parametrów komponentu - pola tekstowego
- months.setText( "Ile miesięcy" );
- months.setSize( 100, 25 );
- months.setLocation( 220, 10 );
- months.setVisible( true );
- //Ustawianie parametrów komponentu - pola tekstowego
- result.setText( "=" );
- result.setSize(100, 25 );
- result.setLocation( 325, 10 );
- result.setVisible( true );
- //Zablokowanie możliwości edycji treści okna z wyświetlonym wynikiem
- result.setEditable(false);
- //Ustawianie parametrów komponentu - przycisku
- calculate.setText( "Wykonaj działanie" );
- calculate.setSize( 415, 30 );
- calculate.setLocation( 10, 45 );
- calculate.setVisible( true );
- //Funkcja wywoływana po naciśnięciu przycisku
- calculate.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent e)
- {
- //Sprawdzenie poprawności wprowadzonych danych
- if(capital.getText().matches("\\d+") && percent.getText().matches("\\d+") && months.getText().matches("\\d+"))
- {
- int c = Integer.valueOf(capital.getText());
- int p = Integer.valueOf(percent.getText());
- int m = Integer.valueOf(months.getText());
- result.setText( "=" + String.format("%.3f", (c*(Math.pow(1+(float)p/1200, m)))));
- }
- else
- {
- result.setText( "ERROR!");
- }
- }
- } );
- }
- public static void main(String[] args)
- {
- new CalculatorKS();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement