Advertisement
dgulczynski

Untitled

Apr 6th, 2018
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.41 KB | None | 0 0
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.io.FileInputStream;
  4. import java.io.FileOutputStream;
  5. import java.io.ObjectInputStream;
  6. import java.io.ObjectOutputStream;
  7.  
  8. public class KontrolkaSamochodu extends JComponent {
  9.     Samochod samochod;
  10.  
  11.     public KontrolkaSamochodu(Samochod samochod) {
  12.         this.samochod = samochod;
  13.  
  14.         this.setLayout(new BorderLayout());
  15.         this.add(new JLabel("Kontrolka Samochodu"), BorderLayout.NORTH);
  16.  
  17.         JPanel panelSamochodu = new JPanel();
  18.         panelSamochodu.setLayout(new GridLayout(4,2));
  19.         JTextField textModel = new JTextField(samochod.model, 1);
  20.         JTextField textKolor = new JTextField(samochod.kolor, 1);
  21.         JTextField textRocznik = new JTextField(String.valueOf(samochod.rocznik), 1);
  22.         JTextField textRejestracja = new JTextField(samochod.rejestracja, 1);
  23.         panelSamochodu.add(new JLabel("Model:"));
  24.         panelSamochodu.add(textModel);
  25.         panelSamochodu.add(new JLabel("Kolor:"));
  26.         panelSamochodu.add(textKolor);
  27.         panelSamochodu.add(new JLabel("Rocznik:"));
  28.         panelSamochodu.add(textRocznik);
  29.         panelSamochodu.add(new JLabel("Rejestracja:"));
  30.         panelSamochodu.add(textRejestracja);
  31.         this.add(panelSamochodu, BorderLayout.CENTER);
  32.  
  33.         JPanel panelPrzyciskow = new JPanel();
  34.         panelPrzyciskow.setLayout(new GridLayout(2,2));
  35.         JTextField textPlik = new JTextField("samochod.ser");
  36.         JButton buttonZapis = new JButton("Zapisz");
  37.         JButton buttonOdczyt = new JButton("Wczytaj");
  38.         buttonZapis.addActionListener(e->{
  39.             samochod.model = textModel.getText();
  40.             samochod.kolor = textKolor.getText();
  41.             samochod.rocznik = Integer.parseInt(textRocznik.getText());
  42.             samochod.rejestracja = textRejestracja.getText();
  43.             String filename = textPlik.getText();
  44.             if(!filename.equals("")){
  45.                 try {
  46.                     ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(filename));
  47.                     out.writeObject(samochod);
  48.                     out.close();
  49.                 } catch (Exception ex) {
  50.                     ex.printStackTrace();
  51.                 }
  52.             }
  53.         });
  54.         buttonOdczyt.addActionListener(e->{
  55.             String filename = textPlik.getText();
  56.             if(!filename.equals("")) {
  57.                 try {
  58.                     ObjectInputStream in = new ObjectInputStream(new FileInputStream(filename));
  59.                     Samochod temp = (Samochod) in.readObject();
  60.                     samochod.model = temp.model;
  61.                     samochod.kolor = temp.kolor;
  62.                     samochod.rocznik = temp.rocznik;
  63.                     samochod.rejestracja = temp.rejestracja;
  64.                     textModel.setText(temp.model);
  65.                     textKolor.setText(temp.kolor);
  66.                     textRocznik.setText(String.valueOf(temp.rocznik));
  67.                     textRejestracja.setText(temp.rejestracja);
  68.                     in.close();
  69.                 } catch (Exception ex) {
  70.                     ex.printStackTrace();
  71.                 }
  72.             }
  73.         });
  74.         panelPrzyciskow.add(new Label("Nazwa pliku:"));
  75.         panelPrzyciskow.add(textPlik);
  76.         panelPrzyciskow.add(buttonZapis);
  77.         panelPrzyciskow.add(buttonOdczyt);
  78.         this.add(panelPrzyciskow, BorderLayout.SOUTH);
  79.     }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement