Advertisement
Guest User

Untitled

a guest
Mar 17th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.80 KB | None | 0 0
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4.  
  5. public class CalculatorKS
  6. {
  7. public CalculatorKS()
  8. {
  9. //Tworzenie obiektów
  10. JFrame window = new JFrame();
  11. JTextField capital = new JTextField();
  12. JTextField percent = new JTextField();
  13. JTextField months = new JTextField();
  14. JTextField result = new JTextField();
  15. JButton calculate = new JButton();
  16.  
  17. //Dodawanie komponentów do okna
  18. window.add( capital );
  19. window.add( percent );
  20. window.add( months );
  21. window.add( result );
  22. window.add( calculate );
  23.  
  24. //Ustawianie parametrów okna
  25. window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  26. window.setSize( 450, 120 );
  27. window.setLayout( null );
  28. window.setVisible( true );
  29. Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
  30. double w = screenSize.getWidth();
  31. double h = screenSize.getHeight();
  32. int width = (int)w/2;
  33. int height =(int)h/2;
  34. //Centrowanie okna
  35. window.setLocation(width-225, height-60);
  36.  
  37. //Ustawianie parametrów komponentu - pola tekstowego
  38. capital.setText( "Kapitał" );
  39. capital.setSize( 100, 25 );
  40. capital.setLocation( 10, 10 );
  41. capital.setVisible( true );
  42.  
  43. //Ustawianie parametrów komponentu - pola tekstowego
  44. percent.setText( "Oprocentowanie" );
  45. percent.setSize( 100, 25 );
  46. percent.setLocation( 115, 10 );
  47. percent.setVisible( true );
  48.  
  49. //Ustawianie parametrów komponentu - pola tekstowego
  50. months.setText( "Ile miesięcy" );
  51. months.setSize( 100, 25 );
  52. months.setLocation( 220, 10 );
  53. months.setVisible( true );
  54.  
  55. //Ustawianie parametrów komponentu - pola tekstowego
  56. result.setText( "=" );
  57. result.setSize(100, 25 );
  58. result.setLocation( 325, 10 );
  59. result.setVisible( true );
  60. //Zablokowanie możliwości edycji treści okna z wyświetlonym wynikiem
  61. result.setEditable(false);
  62.  
  63. //Ustawianie parametrów komponentu - przycisku
  64. calculate.setText( "Wykonaj działanie" );
  65. calculate.setSize( 415, 30 );
  66. calculate.setLocation( 10, 45 );
  67. calculate.setVisible( true );
  68. //Funkcja wywoływana po naciśnięciu przycisku
  69. calculate.addActionListener(new ActionListener()
  70. {
  71. public void actionPerformed(ActionEvent e)
  72. {
  73. //Sprawdzenie poprawności wprowadzonych danych
  74. if(capital.getText().matches("\\d+") && percent.getText().matches("\\d+") && months.getText().matches("\\d+"))
  75. {
  76. int c = Integer.valueOf(capital.getText());
  77. int p = Integer.valueOf(percent.getText());
  78. int m = Integer.valueOf(months.getText());
  79. result.setText( "=" + String.format("%.3f", (c*(Math.pow(1+(float)p/1200, m)))));
  80. }
  81. else
  82. {
  83. result.setText( "ERROR!");
  84. }
  85. }
  86. } );
  87. }
  88.  
  89. public static void main(String[] args)
  90. {
  91. new CalculatorKS();
  92. }
  93.  
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement