martaczaska

Dane

Dec 14th, 2020
673
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.30 KB | None | 0 0
  1. package eti.radio.pr_inz;
  2.  
  3. import javax.imageio.ImageIO;
  4. import javax.swing.*;
  5. import javax.swing.event.ChangeEvent;
  6. import javax.swing.event.ChangeListener;
  7. import java.awt.*;
  8. import java.awt.event.ActionEvent;
  9. import java.awt.event.ActionListener;
  10. import java.awt.image.BufferedImage;
  11. import java.io.File;
  12. import java.io.IOException;
  13.  
  14. public class Dane extends JPanel implements ChangeListener, ActionListener {
  15.  
  16.     private JButton dalej;
  17.     private JButton wyjscie;
  18.     private JLabel tytul5, tekst_d, l_h_BS, l_h_UT;
  19.     public JLabel l_d2D;
  20.     int d_slider_max = 10;
  21.     public JSlider h_UT_Slider, h_BS_Slider, d2D_IN_Slider;
  22.     public BufferedImage tlo_dane;
  23.     String tlo="";
  24.  
  25.     Licz licz_dane;
  26.     Wykresy rysuj_wykresy;
  27.  
  28.     public Dane(Licz licz_dane, Wykresy rysuj_wykresy){
  29.         setLayout(null);
  30.         this.licz_dane = licz_dane;
  31.         this.rysuj_wykresy = rysuj_wykresy;
  32.  
  33.         dalej = new JButton("Dalej");
  34.         wyjscie = new JButton("Wyjście");
  35.         dalej.addActionListener(this);
  36.         wyjscie.addActionListener(this);
  37.  
  38.         wyjscie.setBounds(100, 620, 200, 60);
  39.         wyjscie.setFont(new Font("Sitka Text", Font.BOLD, 25));
  40.         wyjscie.setBackground(Color.white);
  41.  
  42.         dalej.setBounds(724, 620, 200, 60);
  43.         dalej.setFont(new Font("Sitka Text", Font.BOLD, 25));
  44.         dalej.setBackground(Color.white);
  45.  
  46.         tytul5 = new JLabel( "Podaj dane potrzebne do obliczeń SINR", JLabel.CENTER);
  47.         tytul5.setSize(1000, 100);
  48.         tytul5.setLocation(5, 50);
  49.         tytul5.setFont(new Font("Sitka Text", Font.BOLD, 30));
  50.  
  51.         tekst_d = new JLabel( "Podaj wysokości zawieszenia anten stacji bazowej BS oraz termianala użytkownika UT:", JLabel.CENTER);
  52.         tekst_d.setSize(1000, 100);
  53.         tekst_d.setLocation(5, 100);
  54.         tekst_d.setFont(new Font("Sitka Text", Font.PLAIN, 20));
  55.  
  56.         h_BS_Slider = new JSlider(0, d_slider_max, 0);
  57.  
  58.         l_h_BS = new JLabel();
  59.         l_h_BS.setBounds(50, 240, 200, 50);
  60.         l_h_BS.setFont(new Font("Sitka Text", Font.PLAIN, 16));
  61.         l_h_BS.setText("h BS =    m");
  62.  
  63.         h_UT_Slider = new JSlider(0, d_slider_max, 0);
  64.  
  65.         l_h_UT = new JLabel();
  66.         l_h_UT.setBounds(870, 240, 200, 50);
  67.         l_h_UT.setFont(new Font("Sitka Text", Font.PLAIN, 16));
  68.         l_h_UT.setText("h UT =    m");
  69.  
  70.         d2D_IN_Slider = new JSlider(0, 20, 0);
  71.         d2D_IN_Slider.setPaintLabels(true);
  72.         d2D_IN_Slider.setPaintTicks(true);
  73.  
  74.         l_d2D = new JLabel();
  75.         l_d2D.setBounds(730, 570, 200, 50);
  76.         l_d2D.setFont(new Font("Sitka Text", Font.PLAIN, 16));
  77.         l_d2D.setText("d2D IN =    m");
  78.         l_d2D.setVisible(false);
  79.  
  80.         add(dalej); add(wyjscie);
  81.         add(tytul5); add(tekst_d); add(h_BS_Slider); add(h_UT_Slider); add(d2D_IN_Slider); add(l_h_BS); add(l_h_UT); add(l_d2D);
  82.     }
  83.  
  84.     public void actionPerformed(ActionEvent e){
  85.         Object source = e.getSource();
  86.         if(source == dalej) {
  87.             CardLayout CL =(CardLayout)(Main.noweOkno.karty.getLayout());
  88.             CL.show(Main.noweOkno.karty, "wpisz_moce");
  89.             rysuj_wykresy.d_BP = 4*((rysuj_wykresy.h_BS - rysuj_wykresy.h_E)*(rysuj_wykresy.h_UT - rysuj_wykresy.h_E)*rysuj_wykresy.f_c*Math.pow(10, 9))/rysuj_wykresy.c;
  90.             rysuj_wykresy.d2_BP = 2*Math.PI*rysuj_wykresy.h_BS*rysuj_wykresy.h_UT*rysuj_wykresy.f_c*Math.pow(10, 9)/rysuj_wykresy.c;
  91.         }
  92.         else if(source == wyjscie){
  93.             System.exit(0);
  94.         }
  95.     }
  96.  
  97.     public void changeSlider(String nazwa, int sliderMin, int sliderMax, int x, int y, int width, int height){
  98.         if(nazwa.equals("BS_Slider")){
  99.             h_BS_Slider.setMinimum(sliderMin);
  100.             h_BS_Slider.setMaximum(sliderMax);
  101.             h_BS_Slider.setMajorTickSpacing(sliderMax/10);
  102.             h_BS_Slider.setMinorTickSpacing(sliderMax/20);
  103.             //h_BS_Slider.setPaintLabels(true);
  104.             h_BS_Slider.setPaintTicks(true);
  105.             h_BS_Slider.setBounds(x, y ,width, height);
  106.             h_BS_Slider.setOrientation(JSlider.VERTICAL);
  107.             h_BS_Slider.setBackground(Color.WHITE);
  108.             h_BS_Slider.addChangeListener(this);
  109.  
  110.         }
  111.         else if(nazwa.equals("UT_Slider")){
  112.             h_UT_Slider.setBounds(x, y ,width, height);
  113.             h_UT_Slider.setOrientation(JSlider.VERTICAL);
  114.             h_UT_Slider.setBackground(Color.WHITE);
  115.             h_UT_Slider.addChangeListener(this);
  116.             h_UT_Slider.setMinimum(sliderMin);
  117.             h_UT_Slider.setMaximum(sliderMax);
  118.             h_UT_Slider.setMajorTickSpacing(sliderMax/10);
  119.             h_UT_Slider.setMinorTickSpacing(sliderMax/20);
  120.             //h_UT_Slider.setPaintLabels(true);
  121.             h_UT_Slider.setPaintTicks(true);
  122.         }
  123.         else if(nazwa.equals("d2D_IN_Slider")){
  124.             d2D_IN_Slider.setBounds(x, y ,width, height);
  125.             d2D_IN_Slider.setOrientation(JSlider.HORIZONTAL);
  126.             d2D_IN_Slider.setBackground(Color.WHITE);
  127.             d2D_IN_Slider.addChangeListener(this);
  128.             d2D_IN_Slider.setMinimum(sliderMin);
  129.             d2D_IN_Slider.setMaximum(sliderMax);
  130.             d2D_IN_Slider.setMajorTickSpacing(sliderMax/10);
  131.             d2D_IN_Slider.setMinorTickSpacing(sliderMax/20);
  132.             d2D_IN_Slider.setPaintLabels(true);
  133.             d2D_IN_Slider.setPaintTicks(true);
  134.         }
  135.     }
  136.  
  137.     public void stateChanged(ChangeEvent e) {
  138.         rysuj_wykresy.h_BS = h_BS_Slider.getValue();
  139.         l_h_BS.setText("h BS = " + rysuj_wykresy.h_BS / 2 + " m");
  140.  
  141.         rysuj_wykresy.h_UT = h_UT_Slider.getValue();
  142.         l_h_UT.setText("h UT = " + rysuj_wykresy.h_UT / 2 + " m");
  143.  
  144.         rysuj_wykresy.d_2D_IN = d2D_IN_Slider.getValue();
  145.         l_d2D.setText("d2D IN = " + rysuj_wykresy.d_2D_IN + " m");
  146.     }
  147.  
  148.     public void zmiana_tla(int s){
  149.         if(s == 3 || s == 5 || s == 7){
  150.             tlo = "wpisz_dane_o2i";
  151.         }
  152.         else{
  153.             tlo = "wpisz_dane";
  154.         }
  155.         File zdj_menu = new File("zdjecia/" + tlo + ".png");
  156.         try{ tlo_dane = ImageIO.read(zdj_menu); }
  157.         catch(IOException e){ System.err.println("Blad odczytu obrazków"); }
  158.     }
  159.  
  160.     public void paintComponent(Graphics graphic) {
  161.         Graphics2D g2d = (Graphics2D) graphic;
  162.         g2d.drawImage(tlo_dane, 0, 0, this);
  163.     }
  164. }
Advertisement
Add Comment
Please, Sign In to add comment