Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.lang.*;
- import static java.lang.Math.*; // nie trzeba używać w matematyce takich konstrukcji jak y=Math.tanh(x) wystarczy y=tanh(x)
- import java.awt.Font;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.EventQueue;
- import javax.swing.JOptionPane;
- import javax.swing.JFrame;
- import javax.swing.JButton;
- import javax.swing.JTextField;
- import javax.swing.JLabel;
- import javax.swing.JTextPane;
- public class SPOcalc022 { //anzwa porgramu
- private JFrame frame;
- private JTextField textFieldNum1; //jest
- private JTextField textFieldNum2; //jest
- private JButton btnNewButton;
- private JButton btnNewButton_1;
- private JTextField textFieldAns;
- private JLabel characterEquate;
- private JLabel lblNewLabel;
- private JLabel lblNewLabel_1;
- private JLabel lblNewLabel_2;
- private JLabel lblNewLabel_3;
- private JLabel pierwszaKreskaUlamkowa;
- private JLabel lblNewLabel_5;
- /*private JTextField textField3;*/
- private JLabel lblNewLabel_6;
- private JLabel lblNewLabel_7;
- private JTextField textFieldCos2; //jest
- private JLabel drugaKreskaUlamkowa;
- private JLabel lblNewLabel_9;
- private JLabel tanhGornyGrafika;
- private JLabel tanhDolnyGrafika;
- private JLabel otworzNawiasGoraGrafika;
- private JLabel otworzNawiasDolGrafika;
- private JTextField textField;
- private JLabel lblNewLabel_10;
- private JLabel label_1;
- private JTextField textField_1; //jest
- private JLabel lblD;
- private JLabel lblNewLabel_11;
- private JTextField textField_2; //jest sqrt E
- private JLabel zamknijNawiasGoraGrafika;
- private JLabel label_3;
- private JLabel label_4;
- private JLabel lblF;
- private JLabel zamknijNawiasDolGrafika;
- private JLabel label_6;
- private JLabel label_7;
- private JLabel label_8;
- private JLabel label_9;
- private JLabel przenikalnoscElektrycznaGoraGrafika;
- private JLabel przenikalnoscElektrycznaDolGrafika;
- /**
- * Launch the application.
- */
- public static void main(String[] args) {// metoda startuje program
- EventQueue.invokeLater(new Runnable() { // dany kod będzie uruchamiany przez klasy swing (patrz na importy) czyli wątek służący do obsługi interfejsu graficznego
- public void run() { //metoda run zawierająca pętle try która próbuje uruchomić widzialność okna
- try {
- SPOcalc022 window = new SPOcalc022();
- window.frame.setVisible(true); // włączenie widzialności okna używając obiektu frame odwołującego się do klasy JFrame ---> patrz wyżej "Private JFrame frame;"
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- }
- /**
- * Create the application.
- */
- public SPOcalc022() { //
- initialize();
- }
- /**
- * Initialize the contents of the frame.
- */
- private void initialize() {
- frame = new JFrame("");
- frame.setBounds(100, 100, 450, 300);
- frame.setSize(1100,613); // przypisanie rozmiaru okna na start
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //kończy działanie programu w konsoli po wyłączeniu okienka
- frame.getContentPane().setLayout(null); // wyłącza automatyczne ustawianie okienek
- textFieldNum1 = new JTextField(); // obiekt textFieldNum1 odwołuje się do klasy JTextField dzięki której tworzymy Pola tekstowe (te okienka do wstawiania znaczków)
- textFieldNum1.setBounds(372, 128, 53, 30); // lokalizacja X i Y pola tekstowego następnie szerokość i wysokosć pola tekstowego
- frame.getContentPane().add(textFieldNum1);
- textFieldNum1.setColumns(10);
- textFieldNum2 = new JTextField();
- textFieldNum2.setBounds(496, 128, 53, 30);
- frame.getContentPane().add(textFieldNum2);
- textFieldNum2.setColumns(10);
- JButton btnNewButton = new JButton("Oblicz"); // Klasa JButton z obiektem
- btnNewButton.addActionListener(new ActionListener(){ // dodaje do obiektu btnNewButton możliwość nasłuchiwania akcji (czyli możliwość kliknięcia) a wraz z nim zostaje uruchamiana metoda (wszystko to co znajduje się pomiędzy "{ }")
- public void actionPerformed(ActionEvent arg0){
- Double d, e, c, f;
- Double dwaPI;
- Double eSqrt;
- Double wynikTanh, wynikTanhGorny, wynikTanhDolny;
- Double modul;
- Double a, kat0, kat0w, pierwszeDzialanie, wynikOstateczny;
- try {
- e = Double.parseDouble(textField_2.getText()); // wprowadzanie wartości sqrtE
- eSqrt = sqrt(e);
- f = Double.parseDouble(textField.getText());
- d = Double.parseDouble(textField_1.getText());
- c = 299792458.0;
- dwaPI = 2.0 * PI;
- wynikTanh = tanh((dwaPI * c * d * eSqrt)/f);
- wynikTanhGorny = wynikTanh - eSqrt;
- wynikTanhDolny = wynikTanh + eSqrt;
- modul = abs(wynikTanhGorny/wynikTanhDolny);
- a = Double.parseDouble(textFieldNum1.getText());
- kat0 = Double.parseDouble(textFieldNum2.getText());
- kat0w = Double.parseDouble(textFieldCos2.getText());
- pierwszeDzialanie = (a * c * sin(kat0))/(dwaPI * f * sin(kat0w));
- wynikOstateczny = pierwszeDzialanie * modul;
- textFieldAns.setText(Double.toString(wynikOstateczny)); // wysyła do pola textowego o nazwie "textFeilAns" wyynik
- }
- catch(Exception e1) {
- JOptionPane.showMessageDialog(null, " Proszę wprowadzać tylko liczby");
- }
- }
- });
- btnNewButton.setBounds(12, 150, 70, 30);
- btnNewButton.setBorder(null);
- frame.getContentPane().add(btnNewButton);
- JLabel lblAnswer = new JLabel("SPO ");
- lblAnswer.setBounds(93, 158, 39, 18);
- lblAnswer.setBorder(null);
- frame.getContentPane().add(lblAnswer);
- textFieldAns = new JTextField();
- textFieldAns.setBounds(133, 141, 200, 50);
- frame.getContentPane().add(textFieldAns);
- textFieldAns.setColumns(10);
- lblNewLabel = new JLabel("=");
- lblNewLabel.setBounds(338, 140, 16, 50);
- frame.getContentPane().add(lblNewLabel);
- lblNewLabel_1 = new JLabel("a:");
- lblNewLabel_1.setBounds(386, 90, 39, 34);
- frame.getContentPane().add(lblNewLabel_1);
- lblNewLabel_2 = new JLabel("* c * sin * ");
- lblNewLabel_2.setBounds(426, 128, 70, 29);
- frame.getContentPane().add(lblNewLabel_2);
- lblNewLabel_3 = new JLabel("θ:");
- lblNewLabel_3.setBounds(510, 88, 39, 38);
- frame.getContentPane().add(lblNewLabel_3);
- pierwszaKreskaUlamkowa = new JLabel("---------------------------------------------\n");
- pierwszaKreskaUlamkowa.setBounds(371, 140, 231, 50);
- frame.getContentPane().add(pierwszaKreskaUlamkowa);
- lblNewLabel_5 = new JLabel("2 * π *");
- lblNewLabel_5.setBounds(382, 180, 53, 30);
- frame.getContentPane().add(lblNewLabel_5);
- lblNewLabel_6 = new JLabel("f");
- lblNewLabel_6.setBounds(427, 180, 32, 30);
- frame.getContentPane().add(lblNewLabel_6);
- lblNewLabel_7 = new JLabel("* sin *");
- lblNewLabel_7.setBounds(447, 170, 53, 50);
- frame.getContentPane().add(lblNewLabel_7);
- JTextPane txtpnANajduszy = new JTextPane();
- txtpnANajduszy.setText("a - najdłuższy wymiar krawędzi lub nieciągłości;\nd - grubość warstwy dielektrycznej;\nθ - kąt mierzony w stosunku do normalnej;\nθ w - kąt wewnętrzny między ścianami;\nε - znormalizowana przenikalność elektryczna;\nf - częstotliwość.");
- txtpnANajduszy.setBounds(31, 205, 249, 147);
- frame.getContentPane().add(txtpnANajduszy);
- textFieldCos2 = new JTextField();
- textFieldCos2.setBounds(496, 181, 53, 30);
- frame.getContentPane().add(textFieldCos2);
- textFieldCos2.setColumns(10);
- JLabel lblNewLabel_8 = new JLabel("θw:");
- lblNewLabel_8.setBounds(510, 212, 32, 30);
- frame.getContentPane().add(lblNewLabel_8);
- drugaKreskaUlamkowa = new JLabel("-----------------------------------------------------------------\n");
- drugaKreskaUlamkowa.setBounds(624, 140, 350, 50);
- frame.getContentPane().add(drugaKreskaUlamkowa);
- lblNewLabel_9 = new JLabel("f:");
- lblNewLabel_9.setBounds(780, 141, 39, 30);
- frame.getContentPane().add(lblNewLabel_9);
- tanhGornyGrafika = new JLabel("tanh");
- tanhGornyGrafika.setBounds(620, 82, 77, 50);
- frame.getContentPane().add(tanhGornyGrafika);
- tanhDolnyGrafika = new JLabel("tanh");
- tanhDolnyGrafika.setBounds(620, 202, 77, 50);
- frame.getContentPane().add(tanhDolnyGrafika);
- otworzNawiasGoraGrafika = new JLabel("(");
- otworzNawiasGoraGrafika.setFont(new Font("Dialog", Font.PLAIN, 78));
- otworzNawiasGoraGrafika.setBounds(660, 47, 60, 97);
- frame.getContentPane().add(otworzNawiasGoraGrafika);
- otworzNawiasDolGrafika = new JLabel("(");
- otworzNawiasDolGrafika.setFont(new Font("Dialog", Font.PLAIN, 78));
- otworzNawiasDolGrafika.setBounds(660, 180, 60, 97);
- frame.getContentPane().add(otworzNawiasDolGrafika);
- textField = new JTextField();
- textField.setBounds(766, 110, 53, 30);
- frame.getContentPane().add(textField);
- textField.setColumns(10);
- lblNewLabel_10 = new JLabel("2 * π * c *");
- lblNewLabel_10.setBounds(698, 47, 62, 50);
- frame.getContentPane().add(lblNewLabel_10);
- label_1 = new JLabel("-------------------------------------\n");
- label_1.setBounds(680, 74, 208, 50);
- frame.getContentPane().add(label_1);
- textField_1 = new JTextField();
- textField_1.setColumns(10);
- textField_1.setBounds(766, 63, 53, 30);
- frame.getContentPane().add(textField_1);
- lblD = new JLabel("d:");
- lblD.setBounds(780, 26, 39, 44);
- frame.getContentPane().add(lblD);
- lblNewLabel_11 = new JLabel(" √ε:");
- lblNewLabel_11.setBounds(837, 23, 200, 50);
- frame.getContentPane().add(lblNewLabel_11);
- przenikalnoscElektrycznaGoraGrafika = new JLabel("- √ε:");
- przenikalnoscElektrycznaGoraGrafika.setFont(new Font("Dialog", Font.PLAIN, 20));
- przenikalnoscElektrycznaGoraGrafika.setBounds(910, 82, 77, 50);
- frame.getContentPane().add(przenikalnoscElektrycznaGoraGrafika);
- przenikalnoscElektrycznaDolGrafika = new JLabel("+√ε:");
- przenikalnoscElektrycznaDolGrafika.setFont(new Font("Dialog", Font.PLAIN, 20));
- przenikalnoscElektrycznaDolGrafika.setBounds(910, 202, 77, 50);
- frame.getContentPane().add(przenikalnoscElektrycznaDolGrafika);
- textField_2 = new JTextField();
- textField_2.setColumns(10);
- textField_2.setBounds(825, 63, 53, 30);
- frame.getContentPane().add(textField_2);
- zamknijNawiasGoraGrafika = new JLabel(")");
- zamknijNawiasGoraGrafika.setFont(new Font("Dialog", Font.PLAIN, 78));
- zamknijNawiasGoraGrafika.setBounds(884, 47, 60, 97);
- frame.getContentPane().add(zamknijNawiasGoraGrafika);
- label_3 = new JLabel("2 * π * c * d * √ε");
- label_3.setBounds(719, 192, 180, 50);
- frame.getContentPane().add(label_3);
- label_4 = new JLabel("-------------------------------------\n");
- label_4.setBounds(680, 205, 208, 50);
- frame.getContentPane().add(label_4);
- lblF = new JLabel("f");
- lblF.setBounds(766, 233, 44, 34);
- frame.getContentPane().add(lblF);
- zamknijNawiasDolGrafika = new JLabel(")");
- zamknijNawiasDolGrafika.setFont(new Font("Dialog", Font.PLAIN, 78));
- zamknijNawiasDolGrafika.setBounds(884, 180, 60, 97);
- frame.getContentPane().add(zamknijNawiasDolGrafika);
- label_6 = new JLabel("|");
- label_6.setFont(new Font("Dialog", Font.PLAIN, 99));
- label_6.setBounds(590, 65, 60, 97);
- frame.getContentPane().add(label_6);
- label_7 = new JLabel("|");
- label_7.setFont(new Font("Dialog", Font.PLAIN, 99));
- label_7.setBounds(590, 150, 60, 97);
- frame.getContentPane().add(label_7);
- label_8 = new JLabel("|");
- label_8.setFont(new Font("Dialog", Font.PLAIN, 99));
- label_8.setBounds(950, 150, 60, 97);
- frame.getContentPane().add(label_8);
- label_9 = new JLabel("|");
- label_9.setFont(new Font("Dialog", Font.PLAIN, 99));
- label_9.setBounds(950, 65, 60, 97);
- frame.getContentPane().add(label_9);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement