Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package eti.radio.pr_inz;
- import javax.imageio.ImageIO;
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.image.BufferedImage;
- import java.io.File;
- import java.io.IOException;
- import org.jfree.chart.ChartFactory;
- import org.jfree.chart.ChartPanel;
- import org.jfree.chart.ChartUtils;
- import org.jfree.chart.JFreeChart;
- import org.jfree.chart.plot.Plot;
- import org.jfree.chart.plot.PlotOrientation;
- import org.jfree.data.statistics.HistogramDataset;
- import org.jfree.data.xy.XYDataset;
- import org.jfree.data.xy.XYSeries;
- import org.jfree.data.xy.XYSeriesCollection;
- public class Wykresy extends JPanel implements ActionListener {
- private JButton wyjscie;
- private JLabel tytul7;
- public String nazwaModelu = "";
- public BufferedImage tlo_wykresy;
- Double[] SINR_NLOS = new Double[850];
- Double[] SINR_LOS = new Double[850];
- Double[] SINR_dB_NLOS = new Double[850];
- Double[] SINR_dB_LOS = new Double[850];
- public int nr_tytulu = 0;
- public Wykresy(){
- setLayout(null);
- setVisible(true);
- File zdj_menu = new File("zdjecia/strona.png");
- try{ tlo_wykresy = ImageIO.read(zdj_menu); }
- catch(IOException e){ System.err.println("Blad odczytu obrazków"); }
- tytul7 = new JLabel( "Wykresy przedstawiające wartość SINR zależną od odległości UT od BS ", JLabel.CENTER);
- tytul7.setBounds(5, 100, 1000, 100);
- tytul7.setFont(new Font("Sitka Text", Font.BOLD, 25));
- wyjscie = new JButton("Wyjście");
- wyjscie.addActionListener(this);
- wyjscie.setBounds(724, 620, 200, 60);
- wyjscie.setFont(new Font("Sitka Text", Font.BOLD, 25));
- wyjscie.setBackground(Color.white);
- add(tytul7);
- add(wyjscie);
- }
- public XYDataset dane(int k){
- XYSeriesCollection zbior_danych = new XYSeriesCollection();
- XYSeries dane = new XYSeries("");
- if(k == 0){
- for(int i=0; i < 850; i++){
- dane.add(i, SINR_dB_NLOS[i]);
- }
- }
- else if(k == 1){
- for(int i=0; i < 850; i++){
- dane.add(i, SINR_dB_LOS[i]);
- }
- }
- zbior_danych.addSeries(dane);
- return zbior_danych;
- }
- public void Rysuj_wykres(){
- XYDataset dane_1 = dane(0); //dodawanie wartości SINR
- JFreeChart wykres_1 = ChartFactory.createXYLineChart("Funkcja wartości SINR od odległości od stacji bazowej (scenariusz NLOS)",
- "d [m]",
- "SINR [dB]",
- dane_1,
- PlotOrientation.VERTICAL,
- true, true, false);
- ChartPanel chPanel_1 = new ChartPanel(wykres_1);
- XYDataset dane_2 = dane(1); //dodawanie wartości SINR
- JFreeChart wykres_2 = ChartFactory.createXYLineChart("Funkcja wartości SINR od odległości od stacji bazowej (scenariusz LOS)",
- "d [m]",
- "SINR [dB]",
- dane_2,
- PlotOrientation.VERTICAL,
- true, true, false);
- ChartPanel chPanel_2 = new ChartPanel(wykres_2);
- SwingUtilities.invokeLater(() -> {
- chPanel_1.setBounds(10, 200, 480, 380);
- chPanel_1.setVisible(true);
- chPanel_2.setBounds(510, 200, 480, 380);
- chPanel_2.setVisible(true);
- });
- //tytul7 = new JLabel( "Wykresy przedstawiające wartość SINR dla modelu " + nazwaModelu, JLabel.CENTER);
- add(chPanel_1); add(chPanel_2); add(tytul7);
- }
- public void actionPerformed(ActionEvent e){
- Object source = e.getSource();
- if(source == wyjscie){
- System.exit(0);
- }
- }
- public void paintComponent(Graphics graphic) {
- Graphics2D g2d = (Graphics2D) graphic;
- g2d.drawImage(tlo_wykresy, 0, 0, this);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement