public MainWindow() {
		super();
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setTitle("Książka adresowa");
		setSize(500, 400);
		setLocationRelativeTo(getRootPane());
		addWindowListener(this);

		kaModel = new KAModel();
		
		toolBar = new JToolBar();
		add(toolBar, BorderLayout.PAGE_START);
		
		addButton = new JButton("Dodaj");
		addButton.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent arg0) {
				OsobaDialog osobaDialog = new OsobaDialog(getRootPane());
				osobaDialog.setVisible(true);
				if (osobaDialog.result){
					kaModel.addOsoba(osobaDialog.getOsoba());
				}
			}
		});
		toolBar.add(addButton);
		
		editButton = new JButton("Edytuj");
		editButton.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				int modyfikowanyWiersz = table.getSelectedRow();
				if (modyfikowanyWiersz > -1){
					OsobaDialog osobaDialog = new OsobaDialog(getRootPane());
					Osoba modyfikowanaOsoba = kaModel.getOsoba(modyfikowanyWiersz);
					osobaDialog.setOsoba(modyfikowanaOsoba);
					osobaDialog.setVisible(true);
					if (osobaDialog.result){
						kaModel.updateOsoba(modyfikowanyWiersz, osobaDialog.getOsoba());
					}
				}
			}
		});
		toolBar.add(editButton);
		
		removeButton = new JButton("Usuń");
		removeButton.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent arg0) {
				int selectedRow = table.getSelectedRow();
				if (selectedRow > -1){
					kaModel.removeOsoba(table.getSelectedRow());
				}
			}
		});
		toolBar.add(removeButton);
		
		table = new JTable(kaModel);
		
		scrollPane = new JScrollPane(table);
		add(scrollPane, BorderLayout.CENTER);
		
		dataFile = new File(System.getProperty("user.dir") + "/kontakty.bin");
		kaModel.loadFromFile(dataFile);
	}