BasicListViewControl.zip

Basic List View Control/.classpath

Basic List View Control/.project

Basic List View Control org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature

Basic List View Control/.settings/org.eclipse.jdt.core.prefs

eclipse.preferences.version=1org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabledorg.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserveorg.eclipse.jdt.core.compiler.compliance=1.8org.eclipse.jdt.core.compiler.debug.lineNumber=generateorg.eclipse.jdt.core.compiler.debug.localVariable=generateorg.eclipse.jdt.core.compiler.debug.sourceFile=generateorg.eclipse.jdt.core.compiler.problem.assertIdentifier=errororg.eclipse.jdt.core.compiler.problem.enumIdentifier=errororg.eclipse.jdt.core.compiler.source=1.8

Basic List View Control/bin/TextAndIcon.class

                synchronized                 class TextAndIcon {                    private String                 text;                    private javax.swing.Icon                 icon;                    public void TextAndIcon(String, javax.swing.Icon);                    public String                 getText();                    public javax.swing.Icon                 getIcon();                    public void                 setText(String);                    public void                 setIcon(javax.swing.Icon);}            

Basic List View Control/bin/TextAndIconListCellRenderer.class

                synchronized                 class TextAndIconListCellRenderer                 extends javax.swing.JLabel                 implements javax.swing.ListCellRenderer {                    private                 static                 final javax.swing.border.Border                 NO_FOCUS_BORDER;                    private javax.swing.border.Border                 insideBorder;                    static void                 <clinit>();                    public void TextAndIconListCellRenderer();                    public void TextAndIconListCellRenderer(int);                    public void TextAndIconListCellRenderer(int, int, int, int);                    public java.awt.Component                 getListCellRendererComponent(javax.swing.JList, Object, int, boolean, boolean);                    public void                 validate();                    public void                 invalidate();                    public void                 repaint();                    public void                 revalidate();                    public void                 repaint(long, int, int, int, int);                    public void                 repaint(java.awt.Rectangle);}            

Basic List View Control/bin/TopDestinationListFrame.class

                synchronized                 class TopDestinationListFrame                 extends javax.swing.JFrame {                    private javax.swing.DefaultListModel                 listModel;                    public void TopDestinationListFrame();                    private void                 addDestinationNameAndPicture(String, javax.swing.Icon);}            

Basic List View Control/bin/TopFiveDestinationList$1.class

                synchronized                 class TopFiveDestinationList$1                 implements Runnable {    void TopFiveDestinationList$1();                    public void                 run();}            

Basic List View Control/bin/TopFiveDestinationList.class

                public                 synchronized                 class TopFiveDestinationList {                    public void TopFiveDestinationList();                    public                 static void                 main(String[]);}            

Basic List View Control/bin/resources/TestImage.jpg

Basic List View Control/src/TopFiveDestinationList.java

Basic List View Control/src/TopFiveDestinationList.java

import  java . awt . * ;
import  javax . swing . * ;
import  javax . swing . border . * ;

public   class   TopFiveDestinationList   {
     public   static   void  main ( String []  args )   {
         SwingUtilities . invokeLater ( new   Runnable ()   {
             public   void  run ()   {
                 TopDestinationListFrame  topDestinationListFrame  =   new   TopDestinationListFrame ();
                topDestinationListFrame . setTitle ( "Top 5 Destination List" );
                topDestinationListFrame . setVisible ( true );
             }
         });
     }
}


class   TopDestinationListFrame   extends   JFrame   {
     private   DefaultListModel  listModel ;

     public   TopDestinationListFrame ()   {
         super ( "Top Five Destination List" );

        setDefaultCloseOperation ( WindowConstants . EXIT_ON_CLOSE );
        setSize ( 900 ,   750 );

        listModel  =   new   DefaultListModel ();


         //Make updates to your top 5 list below. Import the new image files to resources directory.
        addDestinationNameAndPicture ( "1. Top Destination (short sentence description)" ,   new   ImageIcon ( getClass (). getResource ( "/resources/TestImage.jpg" )));
        addDestinationNameAndPicture ( "2. 2nd Top Destination" ,   new   ImageIcon ( getClass (). getResource ( "/resources/TestImage.jpg" )));
        addDestinationNameAndPicture ( "3. 3rd Top Destination" ,   new   ImageIcon ( getClass (). getResource ( "/resources/TestImage.jpg" )));
        addDestinationNameAndPicture ( "4. 4th Top Destination" ,   new   ImageIcon ( getClass (). getResource ( "/resources/TestImage.jpg" )));
        addDestinationNameAndPicture ( "5. 5th Top Destination" ,   new   ImageIcon ( getClass (). getResource ( "/resources/TestImage.jpg" )));
        
         JList  list  =   new   JList ( listModel );
         JScrollPane  scrollPane  =   new   JScrollPane ( list );

         TextAndIconListCellRenderer  renderer  =   new   TextAndIconListCellRenderer ( 2 );

        list . setCellRenderer ( renderer );

        getContentPane (). add ( scrollPane ,   BorderLayout . CENTER );
     }

     private   void  addDestinationNameAndPicture ( String  text ,   Icon  icon )   {
         TextAndIcon  tai  =   new   TextAndIcon ( text ,  icon );
        listModel . addElement ( tai );
     }
}


class   TextAndIcon   {
     private   String  text ;
     private   Icon  icon ;

     public   TextAndIcon ( String  text ,   Icon  icon )   {
         this . text  =  text ;
         this . icon  =  icon ;
     }

     public   String  getText ()   {
         return  text ;
     }

     public   Icon  getIcon ()   {
         return  icon ;
     }

     public   void  setText ( String  text )   {
         this . text  =  text ;
     }

     public   void  setIcon ( Icon  icon )   {
         this . icon  =  icon ;
     }
}


class   TextAndIconListCellRenderer   extends   JLabel   implements   ListCellRenderer   {
     private   static   final   Border  NO_FOCUS_BORDER  =   new   EmptyBorder ( 1 ,   1 ,   1 ,   1 );

     private   Border  insideBorder ;

     public   TextAndIconListCellRenderer ()   {
         this ( 0 ,   0 ,   0 ,   0 );
     }

     public   TextAndIconListCellRenderer ( int  padding )   {
         this ( padding ,  padding ,  padding ,  padding );
     }

     public   TextAndIconListCellRenderer ( int  topPadding ,   int  rightPadding ,   int  bottomPadding ,   int  leftPadding )   {
        insideBorder  =   BorderFactory . createEmptyBorder ( topPadding ,  leftPadding ,  bottomPadding ,  rightPadding );
        setOpaque ( true );
     }

     public   Component  getListCellRendererComponent ( JList  list ,   Object  value ,
     int  index ,   boolean  isSelected ,   boolean  hasFocus )   {
         // The object from the combo box model MUST be a TextAndIcon.
         TextAndIcon  tai  =   ( TextAndIcon )  value ;

         // Sets text and icon on 'this' JLabel.
        setText ( tai . getText ());
        setIcon ( tai . getIcon ());

         if   ( isSelected )   {
            setBackground ( list . getSelectionBackground ());
            setForeground ( list . getSelectionForeground ());
         }   else   {
            setBackground ( list . getBackground ());
            setForeground ( list . getForeground ());
         }

         Border  outsideBorder ;

         if   ( hasFocus )   {
            outsideBorder  =   UIManager . getBorder ( "List.focusCellHighlightBorder" );
         }   else   {
            outsideBorder  =  NO_FOCUS_BORDER ;
         }

        setBorder ( BorderFactory . createCompoundBorder ( outsideBorder ,  insideBorder ));
        setComponentOrientation ( list . getComponentOrientation ());
        setEnabled ( list . isEnabled ());
        setFont ( list . getFont ());

         return   this ;
     }

     // The following methods are overridden to be empty for performance
     // reasons. If you want to understand better why, please read:
     //
     // http://java.sun.com/javase/6/docs/api/javax/swing/DefaultListCellRenderer.html#override

     public   void  validate ()   {}
     public   void  invalidate ()   {}
     public   void  repaint ()   {}
     public   void  revalidate ()   {}
     public   void  repaint ( long  tm ,   int  x ,   int  y ,   int  width ,   int  height )   {}
     public   void  repaint ( Rectangle  r )   {}
}

Basic List View Control/src/resources/TestImage.jpg