⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 moviemodel.java

📁 一个简单的浏览器
💻 JAVA
字号:
import java.io.*;import java.util.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class MovieModel extends WmvcModel {	private int currentMovieIndex;	private Vector theList;	private final int FILE_ID=48879;		private boolean listChanged;	private boolean editsMade;	private File myFile;		public ListIterator getMovieListIterator(){		return theList.listIterator();	}	public boolean getListChanged(){		return listChanged;	}	public boolean getEditsMade(){		return editsMade;	}	public int getCurrentMovieIndex(){		return currentMovieIndex;	}	public int getNumberOfMovies(){		return theList.size();	}	public File getFile(){		return myFile;	}		public MovieModel(){		editsMade=false;		listChanged=false;		theList=new Vector();		myFile=null;	}		public void setCurrentMovieIndex(int index){		if(theList==null||theList.size()==0)			return;		if(index<0)			index=theList.size()-1;		if(index>=theList.size())			index=0;		currentMovieIndex=index;		notifyViews();				}		public void addMovie(Movie movie){		if(movie==null)			return;		editsMade=true;		listChanged=true;				ListIterator it=getMovieListIterator();		int nextI=0;		while(it.hasNext()){			nextI=it.nextIndex();			Movie m=(Movie)it.next();			String adding=movie.getTitle();			String curName=m.getTitle();			if(adding.compareToIgnoreCase(curName)<=0)				break;		}		if(!it.hasNext()){			theList.add(movie);			setCurrentMovieIndex(theList.size()-1);		}else{			theList.add(nextI,movie);			setCurrentMovieIndex(nextI);		}		}		public void deleteCurrentMovie(){		if(theList.size()<=0){			return;		}		editsMade=true;		listChanged=true;		theList.removeElementAt(currentMovieIndex);		setCurrentMovieIndex(currentMovieIndex-1);	}		public void replaceCurrentMovie(Movie movie){		if(movie==null)			return;		theList.setElementAt(movie,currentMovieIndex);		editsMade=true;		listChanged=true;		notifyViews();		}		public boolean saveMovies(){		return saveMoviesAs(myFile);	}		public boolean saveMoviesAs(File file){		if(file!=null){			try{				DataOutputStream out=new DataOutputStream(					new BufferedOutputStream(new FileOutputStream(file)));				out.writeInt(FILE_ID);				ListIterator it=getMovieListIterator();				while(it.hasNext()){					Movie m=(Movie)it.next();					m.writeMovie(out);				}				out.flush();				out.close();				myFile=file;				}catch(IOException e){				JOptionPane.showMessageDialog(					WmvcApp.getFrame(),					"Error opening file:"+e,					"MovieCat Error",					JOptionPane.ERROR_MESSAGE);				return false;				}		}else{			return false;		}		editsMade=false;		return true;	}		public boolean openMovies(File file){		if(file!=null){			myFile=file;			try{				DataInputStream in=new DataInputStream(					new BufferedInputStream(						new FileInputStream(file)));				if(in.readInt()!=FILE_ID){					in.close();					myFile=null;					JOptionPane.showMessageDialog(						WmvcApp.getFrame(),						file.getName()+						"is not a valid MovieCat file.",						"Movie Error",						JOptionPane.ERROR_MESSAGE);					return false;					}				while(true){					Movie m=new Movie();					if(!m.readMovie(in))						break;					theList.add(m);					}						}catch(IOException e){				JOptionPane.showMessageDialog(					WmvcApp.getFrame(),					"Error reading file:"+e,					"MovieCat Error",					JOptionPane.ERROR_MESSAGE);				myFile=null;				return false;				}			editsMade=false;			listChanged=true;			notifyViews();			return true;		}else{			return false;		}	}		public boolean closeMovies(){		myFile=null;		theList.clear();		editsMade=false;		listChanged=true;		notifyViews();		return true;	}		public Movie getCurrentMovie(){		if(currentMovieIndex<0||currentMovieIndex>=theList.size())			return null;		else if(theList.size()==0)			return null;		else			return (Movie)theList.elementAt(currentMovieIndex);						}		public void notifyViews(){		super.notifyViews();		listChanged=false;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -