Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package a;
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.io.FileNotFoundException;
- import java.io.PrintWriter;
- import java.util.Random;
- import javax.swing.ImageIcon;
- import javax.swing.JButton;
- import javax.swing.JComboBox;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JMenu;
- import javax.swing.JMenuBar;
- import javax.swing.JMenuItem;
- import javax.swing.JOptionPane;
- import javax.swing.JPanel;
- import javax.swing.JScrollPane;
- import javax.swing.JSpinner;
- import javax.swing.JTable;
- import javax.swing.JTextArea;
- import javax.swing.JTextField;
- import javax.swing.JToolBar;
- import javax.swing.KeyStroke;
- import javax.swing.SpinnerNumberModel;
- import javax.swing.event.ChangeEvent;
- import javax.swing.event.ChangeListener;
- import org.freixas.jcalendar.JCalendar;
- import org.freixas.jcalendar.JCalendarCombo;
- public class Kalkulator extends JFrame implements ActionListener{
- JMenuBar menuBar;
- JMenu menuPlik, menuNarzędzia, menuPomoc, menuObliczenia;
- JMenuItem mNowy, mOtworz, mZapisz, mWyjscie, mNarz1, mNarz2, mNarz3, mNarz4, nOProgramie,mObl1,mObl2,mObl3,mObl4,mObl5,mObl6,mObl7;
- JTable tabela;
- JComboBox comboWombo;
- JToolBar tb;
- JButton dodajdotablicy, zerowanie, zapiszdopliku, oblicz;
- JSpinner kolumna, wiersz;
- JTextField wprowadzonaliczba;
- JTextArea wynikiwszystkie;
- JButton tbZapisz, tbWyjdz,tbZerowanie,tbLosowe,tbDodanie,tbMin,tbMax,tbSrednia,tbSuma,tbPomoc,tbInfo;
- Integer wierszyk, kolumienka;
- Integer sum=0,max,min,obliczeniowaZmienna;
- Double srednia ;
- JPanel pasekStatusu;
- JLabel lStatusu;
- JCalendarCombo cKalendarz;
- public Kalkulator()
- {
- setSize(930,331);
- setTitle("Kalkulator v1.001");
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setLayout(null);
- zerowanie = new JButton("Zerowanie tablicy");
- zerowanie.setBounds(0, 80, 150, 20);
- add(zerowanie);
- zerowanie.addActionListener(this);
- dodajdotablicy = new JButton("Dodaj do tablicy");
- dodajdotablicy.setBounds(300, 80, 150, 20);
- add(dodajdotablicy);
- dodajdotablicy.addActionListener(this);
- zapiszdopliku = new JButton("Zapisz do pliku");
- zapiszdopliku.setBounds(150, 80, 150, 20);
- add(zapiszdopliku);
- zapiszdopliku.addActionListener(this);
- menuBar = new JMenuBar();
- menuPlik = new JMenu("Plik");
- mZapisz = new JMenuItem("Zapisz");
- mOtworz = new JMenuItem("Otwórz");
- mWyjscie = new JMenuItem("Wyjście");
- mNowy = new JMenuItem("Nowy");
- menuPlik.add(mNowy);
- mNowy.addActionListener(this);
- menuPlik.add(mOtworz);
- menuPlik.add(mZapisz);
- mZapisz.addActionListener(this);
- menuPlik.addSeparator();
- menuPlik.add(mWyjscie);
- mWyjscie.addActionListener(this);
- mWyjscie.setAccelerator(KeyStroke.getKeyStroke("ctrl X"));
- menuNarzędzia = new JMenu("Edycja");
- mNarz1 = new JMenuItem("Wytnij");
- mNarz2 = new JMenuItem("Kopiuj");
- mNarz3 = new JMenuItem("Wklej");
- mNarz4 = new JMenuItem("Skasuj");
- menuNarzędzia.add(mNarz1);
- menuNarzędzia.add(mNarz2);
- menuNarzędzia.add(mNarz3);
- menuNarzędzia.add(mNarz4);
- menuObliczenia = new JMenu("Obliczenia");
- mObl1 = new JMenuItem("Zerowanie");
- mObl2 = new JMenuItem("Losowanie");
- mObl3 = new JMenuItem("Dodaj do tabeli");
- mObl4 = new JMenuItem("Min");
- mObl5 = new JMenuItem("Max");
- mObl6 = new JMenuItem("Średnia");
- mObl7 = new JMenuItem("Suma");
- menuObliczenia.add(mObl1);
- mObl1.addActionListener(this);
- menuObliczenia.add(mObl2);
- mObl2.addActionListener(this);
- menuObliczenia.add(mObl3);
- mObl3.addActionListener(this);
- menuObliczenia.addSeparator();
- menuObliczenia.add(mObl4);
- mObl4.addActionListener(this);
- menuObliczenia.add(mObl5);
- mObl5.addActionListener(this);
- menuObliczenia.add(mObl6);
- mObl6.addActionListener(this);
- menuObliczenia.add(mObl7);
- mObl7.addActionListener(this);
- menuPomoc = new JMenu("Pomoc");
- nOProgramie = new JMenuItem("Autor");
- nOProgramie.addActionListener(this);
- menuPomoc.add(nOProgramie);
- setJMenuBar(menuBar);
- menuBar.add(menuPlik);
- menuBar.add(menuNarzędzia);
- menuBar.add(menuObliczenia);
- menuBar.add(menuPomoc);
- JLabel wprowadzliczbe= new JLabel("Podaj liczbę : ");
- wprowadzliczbe.setBounds(0, 50, 80, 30);
- add(wprowadzliczbe);
- JLabel wyniki = new JLabel("Wyniki : ");
- wyniki.setBounds(0, 181, 50, 20);
- add(wyniki);
- wynikiwszystkie = new JTextArea();
- JScrollPane scrollPane = new JScrollPane(wynikiwszystkie);
- wynikiwszystkie.setWrapStyleWord(true);
- scrollPane.setBounds(45, 181, 200, 40);
- add(scrollPane);
- wprowadzonaliczba = new JTextField();
- wprowadzonaliczba.setBounds(80,50 ,100 ,30);
- add(wprowadzonaliczba);
- oblicz = new JButton("Oblicz");
- oblicz.setBounds(250, 201, 175, 20);
- add(oblicz);
- oblicz.addActionListener(this);
- pasekStatusu = new JPanel();
- pasekStatusu.setBounds(0, 250,530, 20);
- pasekStatusu.setBackground(Color.GRAY);
- add(pasekStatusu);
- lStatusu = new JLabel("Uruchomiono.");
- lStatusu.setBounds(0, 250, 530, 15);
- pasekStatusu.add(lStatusu);
- // KALENDARZ
- cKalendarz = new JCalendarCombo();
- cKalendarz.setBounds(450, 100, 200, 200);
- cKalendarz.add(cKalendarz);
- // SPINNER
- JLabel podajwiersz = new JLabel("Podaj wiersz:");
- podajwiersz.setBounds(190, 50, 80, 30);
- add(podajwiersz);
- JLabel podajkolumne = new JLabel("Podaj kolumnę:");
- podajkolumne.setBounds(310, 50, 90, 30);
- add(podajkolumne);
- kolumna = new JSpinner();
- kolumna.setBounds(401,50,30,30);
- kolumna.setFont(new Font("Arial", Font.PLAIN, 11));
- kolumna.addChangeListener(new ChangeListener() {
- public void stateChanged(ChangeEvent e) {
- JSpinner source = (JSpinner) e.getSource();
- kolumienka =(Integer) source.getValue();}
- });
- kolumna.setModel(new SpinnerNumberModel(1, 1, 5, 1));
- add(kolumna);
- wiersz = new JSpinner();
- wiersz.setBounds(271,50,30,30);
- wiersz.setFont(new Font("Arial", Font.PLAIN, 11));
- wiersz.addChangeListener(new ChangeListener() {
- public void stateChanged(ChangeEvent e) {
- JSpinner source = (JSpinner) e.getSource();
- wierszyk =(Integer) source.getValue();}
- });
- wiersz.setModel(new SpinnerNumberModel(1, 1, 5, 1));
- add(wiersz);
- //TABELA
- Object[][] data = { {new Integer(0),new Integer(0),new Integer(0),new Integer(0),new Integer(0)},
- {new Integer(0),new Integer(0),new Integer(0),new Integer(0),new Integer(0)},
- {new Integer(0),new Integer(0),new Integer(0),new Integer(0),new Integer(0)},
- {new Integer(0),new Integer(0),new Integer(0),new Integer(0),new Integer(0)},
- {new Integer(0),new Integer(0),new Integer(0),new Integer(0),new Integer(0)}};
- Object[] columns = {"1","2","3","4","5"};
- tabela = new JTable(data, columns);
- tabela.setBounds(0,100, 450, 80);
- add(tabela);
- //COMBOBOX
- comboWombo = new JComboBox();
- comboWombo.setBounds(250, 181, 175, 20);
- comboWombo.addItem("Suma elementów");
- comboWombo.addItem("Średnia elementów");
- comboWombo.addItem("Wartość max");
- comboWombo.addItem("Wartość min");
- add(comboWombo);
- //TOOLBAR - IKONY
- tb = new JToolBar();
- tb.setBounds(0, 0, 520, 32);
- tb.setFloatable(false);
- tbZapisz = new JButton("");
- tbZapisz.setIcon(new ImageIcon("img/zapisz.png"));
- tb.add(tbZapisz);
- tbZapisz.addActionListener(this);
- tbWyjdz = new JButton("");
- tbWyjdz.setIcon(new ImageIcon("img/Exit.png"));
- tb.add(tbWyjdz);
- tbWyjdz.addActionListener(this);
- tb.addSeparator();
- tbZerowanie = new JButton("");
- tbZerowanie.setIcon(new ImageIcon("img/zerowanie.png"));
- tb.add(tbZerowanie);
- tbZerowanie.addActionListener(this);
- tbLosowe = new JButton("");
- tbLosowe.setIcon(new ImageIcon("img/random.png"));
- tb.add(tbLosowe);
- tbLosowe.addActionListener(this);
- tbDodanie = new JButton("");
- tbDodanie.setIcon(new ImageIcon("img/dodaj.png"));
- tb.add(tbDodanie);
- tbDodanie.addActionListener(this);
- tb.addSeparator();
- tbMin = new JButton("");
- tbMin.setIcon(new ImageIcon("img/min.png"));
- tb.add(tbMin);
- tbMin.addActionListener(this);
- tbMax = new JButton("");
- tbMax.setIcon(new ImageIcon("img/max.png"));
- tb.add(tbMax);
- tbMax.addActionListener(this);
- tbSrednia = new JButton("");
- tbSrednia.setIcon(new ImageIcon("img/srednia.png"));
- tb.add(tbSrednia);
- tbSrednia.addActionListener(this);
- tbSuma = new JButton("");
- tbSuma.setIcon(new ImageIcon("img/suma.png"));
- tb.add(tbSuma);
- tbSuma.addActionListener(this);
- tb.addSeparator();
- tbPomoc = new JButton("");
- tbPomoc.setIcon(new ImageIcon("img/pomoc.png"));
- tb.add(tbPomoc);
- tbPomoc.addActionListener(this);
- tbInfo = new JButton("");
- tbInfo.setIcon(new ImageIcon("img/info.png"));
- tb.add(tbInfo);
- tbInfo.addActionListener(this);
- add(tb);
- }
- public static void main(String[] args)
- {
- Kalkulator okienko = new Kalkulator();
- okienko.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- okienko.setVisible(true);
- }
- public void dodajLiczbe()
- {
- try{
- int liczba = (int) Double.parseDouble(wprowadzonaliczba.getText());
- tabela.setValueAt(liczba, wierszyk-1, kolumienka-1);
- lStatusu.setText("Wprowadzono liczbę do tablicy.");
- }
- catch(Exception e){
- JOptionPane.showMessageDialog(null, "Wprowadzono niepoprawną wartość!");
- }
- }
- public void zerowanieTablicy()
- {
- for (int i=0; i < 5; i++)
- {
- for (int j=0; j < 5; j++)
- {
- tabela.setValueAt(0, i, j);
- wynikiwszystkie.setText("");
- wprowadzonaliczba.setText("");
- }}
- lStatusu.setText("Wyzerwoano tablicę oraz pola do wpisywania.");
- }
- public void wypelnienieLosowymi()
- {
- for (int i=0; i < 5; i++)
- {
- for (int j=0; j < 5; j++)
- {
- Random random = new Random();
- int liczbaLosowa = random.nextInt(50);
- tabela.setValueAt(liczbaLosowa, i, j);
- }}
- lStatusu.setText("Wypełniono tablice losowymi znakami.");
- }
- public void liczenieSumy()
- {
- if (comboWombo.getSelectedIndex() == 0)
- {
- for (int i=0; i < 5; i++)
- {
- for (int j=0; j < 5; j++)
- {
- obliczeniowaZmienna = ((Integer)tabela.getValueAt(i,j));
- sum += obliczeniowaZmienna;
- }
- }
- lStatusu.setText("Policzono sumę.");
- wynikiwszystkie.setText("Suma wynosi : " + sum.toString());
- sum = 0;}
- }
- public void liczenieSredniej()
- {
- if (comboWombo.getSelectedIndex() == 1)
- {
- for (int i=0; i < 5; i++)
- {
- for (int j=0; j < 5; j++)
- {
- obliczeniowaZmienna = ((Integer)tabela.getValueAt(i,j));
- sum += obliczeniowaZmienna;
- }
- }
- srednia = (double)sum / 25;
- wynikiwszystkie.setText("Średnia wynosi : " + srednia.toString());
- sum = 0;
- lStatusu.setText("Policzono średnią.");
- }}
- public void liczenieMax()
- {
- if (comboWombo.getSelectedIndex() == 2)
- {
- max = ((Integer)tabela.getValueAt(0,0));
- for (int i=0; i < 5; i++)
- {
- for (int j=0; j < 5; j++)
- {
- obliczeniowaZmienna = ((Integer)tabela.getValueAt(i,j));
- if (obliczeniowaZmienna > max) max = obliczeniowaZmienna;
- }
- }
- wynikiwszystkie.setText("MAX wynosi : "+max.toString());
- lStatusu.setText("Policzono Max.");
- }
- }
- public void liczenieMin()
- {
- if (comboWombo.getSelectedIndex() == 3)
- {
- min = ((Integer)tabela.getValueAt(0,0));
- for (int i=0; i < 5; i++)
- {
- for (int j=0; j < 5; j++)
- {
- obliczeniowaZmienna = ((Integer)tabela.getValueAt(i,j));
- if (obliczeniowaZmienna < min) min = obliczeniowaZmienna;
- }
- }
- wynikiwszystkie.setText("MIN wynosi : "+min.toString());
- lStatusu.setText("Policzono Min.");
- }
- }
- public void zapisTab()
- {
- PrintWriter zapis =null;
- try{
- zapis = new PrintWriter("zapisz.txt");
- }
- catch (FileNotFoundException e1)
- {
- JOptionPane.showMessageDialog(null, "Brak pliku zapis.txt!", getTitle(), JOptionPane.PLAIN_MESSAGE);
- }
- for(int i=0; i<5; i++){
- for(int j=0;j<5;j++)
- {
- zapis.println(tabela.getValueAt(i, j));
- }
- }
- ImageIcon zapiszIkona = new ImageIcon("img/zapisz.png");
- JOptionPane.showMessageDialog(null, "Zapisano zawartość tabeli do pliku", getTitle(), JOptionPane.PLAIN_MESSAGE, zapiszIkona);
- lStatusu.setText("Zapisano zawartość tablicy do pliku.");
- zapis.close();
- }
- public void infoAutor()
- {
- ImageIcon imgInfo = new ImageIcon("img/autor.jpg");
- JTextArea okno1 = new JTextArea(6, 23);
- okno1.setEditable(false);
- okno1.setFont(new Font("Dialog", Font.BOLD, 13));
- String tekst = "Program Kalkulator\n" + "Autor : Mateusz Woronko\n" + "Kontakt : mateusz89108@wp.pl\n" + "Wersja : Beta";
- okno1.setText(tekst);
- okno1.setEditable(false);
- JScrollPane scrollpane = new JScrollPane(okno1);
- JOptionPane.showMessageDialog(null, scrollpane, "Informacje o autorze", JOptionPane.PLAIN_MESSAGE, imgInfo);
- }
- public void opcjaPomoc()
- {
- }
- public void actionPerformed(ActionEvent e)
- {
- Object z = e.getSource();
- if(z == mWyjscie || z == tbWyjdz){
- lStatusu.setText("Zamykanie aplikacji ... ");
- int n = JOptionPane.showConfirmDialog(null, "Czy na pewno chcasz zamknąć aplikację ?", "Zamykanie aplikacji", JOptionPane.YES_NO_OPTION);
- if(n == JOptionPane.YES_OPTION)
- {
- dispose();
- }
- if(n == JOptionPane.NO_OPTION)
- {
- lStatusu.setText("Uruchomiono.");
- }
- }
- if(z == dodajdotablicy || z == tbDodanie || z == mObl3){
- dodajLiczbe();
- }
- if(z == zerowanie || z == tbZerowanie || z == mObl1 || z == mNowy){
- zerowanieTablicy();
- }
- if(z == tbLosowe || z == mObl2)
- {
- wypelnienieLosowymi();
- }
- if(z == oblicz || z == tbSuma || z == mObl7)
- {
- liczenieSumy();
- }
- if(z == oblicz || z == tbSrednia || z == mObl6)
- {
- liczenieSredniej();
- }
- if(z == oblicz || z == tbMax || z == mObl5)
- {
- liczenieMax();
- }
- if(z == oblicz || z == tbMin || z == mObl4)
- {
- liczenieMin();
- }
- if(z == mZapisz || z == zapiszdopliku || z == tbZapisz)
- {
- zapisTab();
- }
- if(z == tbInfo || z == nOProgramie)
- {
- lStatusu.setText("Wyświetlono informacje o autorze.");
- infoAutor();
- }
- ;}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement