Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- public class Movie implements Serializable
- {String title;
- String actor;
- String director;
- public Movie(String title, String actor,String director)
- {
- this.title = title;
- this.actor = actor;
- this.director = director;
- }
- public String getTitle()
- {
- return title;
- }
- public String getActor()
- {
- return actor;
- }
- public String getDirector()
- {
- return director;
- }
- }
- ____________________________________________
- import java.io.Serializable;
- import java.util.ArrayList;
- public class MovieDatabase1 implements Serializable
- {
- private ArrayList<Movie> movies = new ArrayList<Movie>();
- public MovieDatabase1(ArrayList<Movie> movies)
- {
- this.movies = movies;
- }
- public MovieDatabase1()
- {}
- public ArrayList<Movie> getMovies()
- {
- return movies;
- }
- public void addMovie(Movie m)
- {
- movies.add(m);
- }
- }
- ________________________
- import java.io.*;
- public class Persistence
- {
- public static void saveMovieDatabase1(MovieDatabase1 movieDatabase1)
- {
- try{
- File file = new File("movies.txt");
- file.createNewFile();
- FileOutputStream file1= new FileOutputStream("movies.txt",true);
- ObjectOutputStream out = new ObjectOutputStream(file1);
- out.writeObject(movieDatabase1);
- file1.close();
- out.close();
- }
- catch (IOException e)
- {
- System.out.println("Something goes wrong");
- }
- }
- public static MovieDatabase1 loadMovieDatabase1(){
- MovieDatabase1 db1 = new MovieDatabase1();
- try {
- FileInputStream fileInput = new FileInputStream("movies.txt");
- ObjectInputStream objectInput = new ObjectInputStream(fileInput);
- //type cast into a BookDatabase (from Object).
- db1 = (MovieDatabase1)objectInput.readObject();
- }
- catch (Exception e){
- e.printStackTrace();
- System.out.println("Something went wrong");
- }
- return db1;
- }
- }
- ______________________________________________________________
- import javax.swing.*;
- import java.awt.*;
- import javax.*;
- import java.awt.event.*;
- import java.io.File;
- import java.io.IOException;
- import javax.imageio.ImageIO;
- import javax.swing.ImageIcon;
- public class RunMovie
- {
- static JTextField titlet = new JTextField(10);
- static JTextField actort = new JTextField(10);
- static JTextField directort = new JTextField(10);
- public RunMovie()
- {
- MovieDatabase1 db1 = Persistence.loadMovieDatabase1();
- JFrame frame = new JFrame("Movie Database"); //New window
- frame.setSize(500,500); // 500,500 // ask christian
- frame.setVisible(true); // visible true
- JButton save = new JButton("Save");
- save.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e)
- {
- {
- Movie movie1 = new Movie(getTitle(),getActor(),getDirector());
- db1.addMovie(movie1);
- Persistence.saveMovieDatabase1(db1);
- System.out.println("Saving");
- }
- new MovieDatabase();
- }
- });
- JLabel label = new JLabel("Movie Database");
- JLabel label1 = new JLabel("Title");
- JLabel label2 = new JLabel("Actor");
- JLabel label3 = new JLabel("Director");
- label1.setFont(new Font("Verdana", Font.PLAIN, 12));
- label2.setFont(new Font("Verdana", Font.PLAIN, 12));
- label3.setFont(new Font("Verdana", Font.PLAIN, 12));
- JTextField titlet = new JTextField(10);
- JTextField actort = new JTextField(10);
- JTextField directort = new JTextField(10);
- //panel with GridBagLayout
- JPanel panel = new JPanel(new GridBagLayout());
- JPanel panel1 = new JPanel(new GridBagLayout());
- JPanel panel2 = new JPanel(new GridBagLayout());
- //object of GridBagLayout
- GridBagConstraints c= new GridBagConstraints();
- panel.add(save,c);
- c.insets = new Insets(40,40,40,40);
- c.gridx = 0;
- c.gridy = 0;
- panel1.add(label1,c);
- c.gridx = 1;
- c.gridy = 0;
- panel1.add(titlet,c);
- c.gridx = 0;
- c.gridy = 1;
- panel1.add(label2,c);
- c.gridx = 1;
- c.gridy = 1;
- panel1.add(actort,c);
- c.gridx = 0;
- c.gridy = 2;
- panel1.add(label3,c);
- c.gridx = 1;
- c.gridy = 2;
- panel1.add(directort,c);
- panel1.setBackground(new Color(38, 228, 202) );// setting colors
- panel.setBackground(new Color(38, 228, 202));//setting colors
- panel2.setBackground(new Color(38, 228, 202));//setting colors
- frame.getContentPane().add(panel, BorderLayout.SOUTH);
- frame.getContentPane().add(panel1, BorderLayout.NORTH);
- frame.getContentPane().add(panel2, BorderLayout.CENTER);
- }
- public static String getTitle()
- {
- return titlet.getText();
- }
- public static String getActor()
- {
- return actort.getText();
- }
- public static String getDirector()
- {
- return directort.getText();
- }
- }
- _____________________________________________________________________
- import java.io.*;
- import java.awt.BorderLayout;
- import java.awt.FlowLayout;
- import java.awt.Dimension;
- import java.awt.GridLayout;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- import java.awt.event.ItemEvent;
- import java.awt.event.ItemListener;
- import java.awt.event.MouseEvent;
- import java.awt.event.MouseMotionListener;
- import java.io.IOException;
- import java.io.FileReader;
- import java.io.BufferedReader;
- import javax.swing.ImageIcon;
- import javax.swing.JButton;
- import javax.swing.JComboBox;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JOptionPane;
- import javax.swing.JScrollPane;
- import javax.swing.JTable;
- import javax.swing.JTextArea;
- import javax.swing.JTextField;
- import java.util.ArrayList;
- import javax.swing.table.DefaultTableModel;
- import javax.swing.JPanel;
- import javax.swing.event.*;
- import javax.swing.table.TableModel;
- public class MovieDatabase extends JFrame implements ActionListener{
- public static void main (String[] args){
- new MovieDatabase();
- }
- private ArrayList<Movie> movies = new ArrayList<Movie>();
- private JTable table = new JTable();
- private JTable table1 = new JTable();
- private JButton delete;
- private JButton add;
- private JButton new1;
- private JButton load;
- private JFrame frame1;
- private JFrame frame2;
- private JFrame frame3;
- private JPanel south;
- DefaultTableModel model = new DefaultTableModel();
- DefaultTableModel model1 = new DefaultTableModel();
- public MovieDatabase()
- {
- delete = new JButton("Delete the movie");
- add = new JButton("Add the movie");
- new1 = new JButton("Save");
- load = new JButton("Load");
- frame1 = new JFrame("Movie Database");
- frame2 = new JFrame("Open new window1");
- frame3 = new JFrame("Open new window2");
- JPanel SOUTH = new JPanel(new GridLayout(0,3));
- SOUTH.add(delete);
- SOUTH.add(add);
- SOUTH.add(new1);
- SOUTH.add(load);
- JPanel NORTH = new JPanel(new GridLayout(0,3));
- final JFrame frame1 = new JFrame();
- frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame1.setLayout(new BorderLayout());
- frame1.add(NORTH, BorderLayout.SOUTH);
- frame1.setTitle("Update you movie database");
- frame1.pack();
- final JFrame frame = new JFrame();
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.setLayout(new BorderLayout());
- frame.add(SOUTH, BorderLayout.SOUTH);
- frame.setTitle("Text area test");
- frame.pack();
- frame.setVisible(true);
- delete.addActionListener(this);
- add.addActionListener(this);
- new1.addActionListener(this);
- load.addActionListener(this);
- JScrollPane scrollPane = new JScrollPane(table); //add scrollpane to table
- frame.add(scrollPane, BorderLayout.CENTER);
- updateJTable();
- }
- public void updateJTable()
- {
- model.setColumnIdentifiers(new String[] { "title", "actors", "director" });
- model.setRowCount(movies.size());
- int row = 0;
- for (Movie movie : movies) {
- model.setValueAt(movie.title, row, 0);
- model.setValueAt(movie.actor, row, 1);
- model.setValueAt(movie.director, row, 2);
- row++;
- }
- table.setModel(model);
- }
- {
- model1.setColumnIdentifiers(new String[] { "title", "actors", "director" });
- model1.setRowCount(movies.size());
- int row = 0;
- for (Movie movie : movies) {
- model1.setValueAt(movie.title, row, 0);
- model1.setValueAt(movie.actor, row, 1);
- model1.setValueAt(movie.director, row, 2);
- row++;
- }
- table1.setModel(model1);
- }
- public void actionPerformed(ActionEvent event)
- {
- if(event.getSource() == delete)
- { model.removeRow(0);
- }
- if(event.getSource() == add)
- {
- new RunMovie();
- }
- if(event.getSource() == new1)
- {
- MovieDatabase1 db1 = Persistence.loadMovieDatabase1();
- for (int i = 0; i < db1.getMovies().size(); i++) {
- Movie movie = db1.getMovies().get(i);
- {
- String data1 = RunMovie.getTitle();
- String data2 = RunMovie.getActor();
- String data3 = RunMovie.getDirector();
- Object[] row = {data1, data2,data3};
- DefaultTableModel model1 = (DefaultTableModel) table.getModel();
- model.addRow(row);
- }
- }
- if(event.getSource() == load )
- {
- }
- }
- }
- }
- _______________________________________________________
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement