001         package com.croftsoft.apps.quiz;
002    
003         import java.awt.*;
004         import javax.swing.*;
005    
006         import com.croftsoft.core.lang.NullArgumentException;
007    
008         /*********************************************************************
009         *
010         * <p />
011         *
012         * @version
013         *   2001-07-11
014         * @since
015         *   2001-07-10
016         * @author
017         *   <a href="https://www.croftsoft.com/">David Wallace Croft</a>
018         *********************************************************************/
019    
020         public final class  QuizItemPanel
021           extends JPanel
022         //////////////////////////////////////////////////////////////////////
023         //////////////////////////////////////////////////////////////////////
024         {
025    
026    //   private QuizItem  quizItem;
027    
028         private JTextArea  questionJTextArea;
029    
030         private JTextArea  answerJTextArea;
031    
032         private JTextArea  referenceJTextArea;
033    
034         //////////////////////////////////////////////////////////////////////
035         //////////////////////////////////////////////////////////////////////
036    
037         public  QuizItemPanel (
038           Color  panelBackgroundColor,
039           Color  textFieldBackgroundColor )
040         //////////////////////////////////////////////////////////////////////
041         {
042           super ( new GridBagLayout ( ), true ); // isDoubleBuffered
043    
044    // the panels currently ignore the colors
045    
046           questionJTextArea  = new JTextArea ( );
047    
048           answerJTextArea    = new JTextArea ( );
049    
050           referenceJTextArea = new JTextArea ( );
051    
052           GridBagConstraints  gridBagConstraints = new GridBagConstraints ( );
053    
054           gridBagConstraints.fill = GridBagConstraints.BOTH;
055    
056           gridBagConstraints.weightx = 1.0;
057    
058           gridBagConstraints.gridy = 0;
059    
060           gridBagConstraints.weighty = 1.0;
061    
062           add ( new JScrollPane ( questionJTextArea  ), gridBagConstraints );
063    
064           gridBagConstraints.gridy = 1;
065    
066           gridBagConstraints.weighty = 3.0;
067    
068           add ( new JScrollPane ( answerJTextArea    ), gridBagConstraints );
069    
070           gridBagConstraints.gridy = 2;
071    
072           gridBagConstraints.weighty = 1.0;
073    
074           add ( new JScrollPane ( referenceJTextArea ), gridBagConstraints );
075         }
076    
077         public  QuizItemPanel ( )
078         //////////////////////////////////////////////////////////////////////
079         {
080           this ( null, null );
081         }
082    
083         //////////////////////////////////////////////////////////////////////
084         //////////////////////////////////////////////////////////////////////
085    
086         public void  setQuizItem ( QuizItem  quizItem )
087         //////////////////////////////////////////////////////////////////////
088         {
089           String  question  = null;
090    
091           String  answer    = null;
092    
093           String  reference = null;
094    
095           if ( quizItem != null )
096           {
097             question  = quizItem.getQuestion  ( );
098    
099             answer    = quizItem.getAnswer    ( );
100    
101             reference = quizItem.getReference ( );
102           }
103           
104           questionJTextArea .setText ( question  != null ? question  : "" );
105    
106           answerJTextArea   .setText ( answer    != null ? answer    : "" );
107    
108           referenceJTextArea.setText ( reference != null ? reference : "" );
109         }
110    
111         //////////////////////////////////////////////////////////////////////
112         //////////////////////////////////////////////////////////////////////
113         }