?? movielistview.java
字號:
/* * MovieListView - the list View of the MovieCat model. * This view implements the view of the movie list * Copyright (c) 2001, Bruce E. Wampler */import java.util.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;public class MovieListView extends WmvcView implements ListSelectionListener // for JList{ // need updating to avoid interaction between update and // valueChanged listener private static boolean updating = false; private JPanel listPanel; private JList jlist; private MovieModel myModel; private DefaultListModel movieList; public JPanel getPanel() { return listPanel; } public MovieListView() { // Build list view which is simply a JList in a JPanel myModel = (MovieModel)WmvcApp.getModel(); myModel.addView(this); // add view to model list movieList = new DefaultListModel(); // first allocation movieList.addElement("No Movie List Opened"); listPanel = new JPanel(); listPanel.setLayout(new BorderLayout()); jlist = new JList(movieList); jlist.setSelectionMode( ListSelectionModel.SINGLE_SELECTION); jlist.setSelectedIndex(0); jlist.addListSelectionListener(this); // valueChanged listPanel.add(jlist,BorderLayout.CENTER); } public void updateView() { // Called when model changes updating = true; // if list changed, don't need to refresh here if (myModel.getListChanged()) { movieList.ensureCapacity( myModel.getNumberOfMovies() + 8); movieList.clear(); // See if just the selection changed // copy titles from movie list to view list ListIterator it = myModel.getMovieListIterator(); while (it.hasNext()) { Movie m = (Movie) it.next(); movieList.addElement(m.getTitle()); } } // Always update selected item // Note that by using the DefaultListModel, these will // trigger valueChanged, so we need the updating value jlist.setSelectedIndex(myModel.getCurrentMovieIndex()); jlist.ensureIndexIsVisible( myModel.getCurrentMovieIndex()); updating = false; } // Implement ListSelectionListener public void valueChanged(ListSelectionEvent e) { if (e.getValueIsAdjusting()) // Still adjusting? return; JList theList = (JList)e.getSource(); if (! theList.isSelectionEmpty()) { int index = theList.getSelectedIndex(); // now set the model to use the selected movie name if (!updating) myModel.setCurrentMovieIndex(index); } }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -