File:  [LON-CAPA] / capa / capa51 / JavaTools / GLabel.java
Revision 1.5: download - view: text, annotated - select for diffs
Mon Aug 7 20:47:29 2000 UTC (23 years, 9 months ago) by albertel
Branches: MAIN
CVS tags: version_2_9_X, version_2_9_99_0, version_2_9_1, version_2_9_0, version_2_8_X, version_2_8_99_1, version_2_8_99_0, version_2_8_2, version_2_8_1, version_2_8_0, version_2_7_X, version_2_7_99_1, version_2_7_99_0, version_2_7_1, version_2_7_0, version_2_6_X, version_2_6_99_1, version_2_6_99_0, version_2_6_3, version_2_6_2, version_2_6_1, version_2_6_0, version_2_5_X, version_2_5_99_1, version_2_5_99_0, version_2_5_2, version_2_5_1, version_2_5_0, version_2_4_X, version_2_4_99_0, version_2_4_2, version_2_4_1, version_2_4_0, version_2_3_X, version_2_3_99_0, version_2_3_2, version_2_3_1, version_2_3_0, version_2_2_X, version_2_2_99_1, version_2_2_99_0, version_2_2_2, version_2_2_1, version_2_2_0, version_2_1_X, version_2_1_99_3, version_2_1_99_2, version_2_1_99_1, version_2_1_99_0, version_2_1_3, version_2_1_2, version_2_1_1, version_2_1_0, version_2_12_X, version_2_11_X, version_2_11_4_uiuc, version_2_11_4_msu, version_2_11_4, version_2_11_3_uiuc, version_2_11_3_msu, version_2_11_3, version_2_11_2_uiuc, version_2_11_2_msu, version_2_11_2_educog, version_2_11_2, version_2_11_1, version_2_11_0_RC3, version_2_11_0_RC2, version_2_11_0_RC1, version_2_11_0, version_2_10_X, version_2_10_1, version_2_10_0_RC2, version_2_10_0_RC1, version_2_10_0, version_2_0_X, version_2_0_99_1, version_2_0_2, version_2_0_1, version_2_0_0, version_1_99_3, version_1_99_2, version_1_99_1_tmcc, version_1_99_1, version_1_99_0_tmcc, version_1_99_0, version_1_3_X, version_1_3_3, version_1_3_2, version_1_3_1, version_1_3_0, version_1_2_X, version_1_2_99_1, version_1_2_99_0, version_1_2_1, version_1_2_0, version_1_1_X, version_1_1_99_5, version_1_1_99_4, version_1_1_99_3, version_1_1_99_2, version_1_1_99_1, version_1_1_99_0, version_1_1_3, version_1_1_2, version_1_1_1, version_1_1_0, version_1_0_99_3, version_1_0_99_2, version_1_0_99_1, version_1_0_99, version_1_0_3, version_1_0_2, version_1_0_1, version_1_0_0, version_0_99_5, version_0_99_4, version_0_99_3, version_0_99_2, version_0_99_1, version_0_99_0, version_0_6_2, version_0_6, version_0_5_1, version_0_5, version_0_4, stable_2002_spring, stable_2002_july, stable_2002_april, stable_2001_fall, release_5-1-3, loncapaMITrelate_1, language_hyphenation_merge, language_hyphenation, conference_2003, bz6209-base, bz6209, STABLE, HEAD, GCI_3, GCI_2, GCI_1, CAPA_5-1-6, CAPA_5-1-5, CAPA_5-1-4_RC1, BZ4492-merge, BZ4492-feature_horizontal_radioresponse, BZ4492-feature_Support_horizontal_radioresponse, BZ4492-Support_horizontal_radioresponse
- fixed license notices the reference the GNU GPL rather than the GNU LGPL

    1: 
    2: /* ====================================================
    3:    created by Isaac Tsai, 1997
    4:    randomized labeling of a figure applet
    5:    Copyright (C) 1992-2000 Michigan State University
    6: 
    7:    The CAPA system is free software; you can redistribute it and/or
    8:    modify it under the terms of the GNU General Public License as
    9:    published by the Free Software Foundation; either version 2 of the
   10:    License, or (at your option) any later version.
   11: 
   12:    The CAPA system is distributed in the hope that it will be useful,
   13:    but WITHOUT ANY WARRANTY; without even the implied warranty of
   14:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   15:    General Public License for more details.
   16: 
   17:    You should have received a copy of the GNU General Public
   18:    License along with the CAPA system; see the file COPYING.  If not,
   19:    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
   20:    Boston, MA 02111-1307, USA.
   21: 
   22:    As a special exception, you have permission to link this program
   23:    with the TtH/TtM library and distribute executables, as long as you
   24:    follow the requirements of the GNU GPL in regard to all of the
   25:    software in the executable aside from TtH/TtM.
   26: */
   27: 
   28: <CENTER>
   29: 
   30: <APPLET CODE=GLabel.class CODEBASE=JAVA/Class width=550 height=304>
   31: <PARAM NAME="BGIMG" VALUE="path/to/background.gif">
   32: <PARAM NAME="GRID"  VALUE="10">
   33: <PARAM NAME="COUNT" VALUE="7">
   34: <PARAM NAME="LB0" VALUE="X">
   35: <PARAM NAME="X0" VALUE="16">
   36: <PARAM NAME="Y0" VALUE="242">
   37: <PARAM NAME="LB1" VALUE="Y">
   38: <PARAM NAME="X1" VALUE="144">
   39: <PARAM NAME="Y1" VALUE="288">
   40: <PARAM NAME="LB2" VALUE="3">
   41: <PARAM NAME="X2" VALUE="317">
   42: <PARAM NAME="Y2" VALUE="193">
   43: <PARAM NAME="LB3" VALUE="4">
   44: <PARAM NAME="X3" VALUE="524">
   45: <PARAM NAME="Y3" VALUE="154">
   46: <PARAM NAME="LB4" VALUE="5">
   47: <PARAM NAME="X4" VALUE="309">
   48: <PARAM NAME="Y4" VALUE="30">
   49: <PARAM NAME="LB5" VALUE="6">
   50: <PARAM NAME="X5" VALUE="224">
   51: <PARAM NAME="Y5" VALUE="45">
   52: <PARAM NAME="LB6" VALUE="7">
   53: <PARAM NAME="X6" VALUE="49">
   54: <PARAM NAME="Y6" VALUE="106">
   55: <PARAM NAME="ICOUNT" VALUE="2">
   56: <PARAM NAME="IMG0" VALUE="path/to/image0.gif">
   57: <PARAM NAME="IX0" VALUE="106">
   58: <PARAM NAME="IY0" VALUE="106">
   59: <PARAM NAME="IMG1" VALUE="path/to/image1.gif">
   60: <PARAM NAME="IX1" VALUE="106">
   61: <PARAM NAME="IY1" VALUE="106">
   62: </APPLET>
   63: 
   64: </CENTER>
   65: < APPLET
   66:             [CODEBASE = codebaseURL]
   67:             CODE = appletFile 
   68:             [ALT = alternateText]
   69:             [NAME = appletInstanceName]
   70:             WIDTH = pixels
   71:             HEIGHT = pixels 
   72:             [ALIGN = alignment] 
   73:             [VSPACE = pixels]
   74:             [HSPACE = pixels]
   75:         >
   76:         [< PARAM NAME = appletParameter1 VALUE = value >]
   77:         [< PARAM NAME = appletParameter2 VALUE = value >]
   78:         . . .
   79:         [alternateHTML]
   80:         </APPLET>
   81: 
   82: */
   83: 
   84: import java.applet.*;
   85: import java.awt.*;
   86: import java.lang.*;
   87: import java.util.*;
   88: import java.net.*;
   89: 
   90: public class GLabel extends Applet implements Runnable
   91: {
   92: 
   93:  public int     Xcord[];
   94:  public int     Ycord[];
   95:  public String  sLabel[];
   96:  public Image   iImg[];
   97:  public int     iX[];
   98:  public int     iY[];
   99:  
  100:  public int     label_cnt;
  101:  public int     img_cnt;
  102:  public int     fsize;
  103:  public int     show_grid;
  104:  public int     grid_ww;
  105:  public Image   img;
  106:  public Font    f16;
  107: 
  108: public void init()
  109:  {
  110:    int      count, idx;
  111:    String   p, q;
  112:    URL      f_url=null;
  113:    
  114:    Xcord = new int[64]; Ycord = new int[64];
  115:    sLabel = new String[64];
  116:    iImg = new Image[64];
  117:    iX = new int[64]; iY = new int[64];
  118:    
  119:    show_grid = 0;
  120:    f16 = new Font("TimesRoman",Font.PLAIN,16);
  121:    
  122:    p=getParameter("COUNT");
  123:    label_cnt=(p==null)?1:Integer.valueOf(p).intValue();
  124: 
  125:    for(idx=0;idx<label_cnt;idx++){
  126:      q = "LB" + idx;
  127:      sLabel[idx] = getParameter(q);
  128:      q = "X" + idx;
  129:      p = getParameter(q);
  130:      Xcord[idx]=(p==null)?20:Integer.valueOf(p).intValue();
  131:      q = "Y" + idx;
  132:      p = getParameter(q);
  133:      Ycord[idx]=(p==null)?30:Integer.valueOf(p).intValue();
  134:      // System.out.println("X= "+Xcord[idx]+" Y= "+Ycord[idx]+" L= "+sLabel[idx]);
  135:    }
  136:    
  137:    p=getParameter("ICOUNT");
  138:    img_cnt=(p==null)?0:Integer.valueOf(p).intValue();
  139:    for(idx=0;idx<img_cnt;idx++){
  140:      q = "IMG" + idx;
  141:      p = getParameter(q);
  142:      if(p != null) {
  143:      try {
  144:           System.out.print("URL=" + p + "\n");
  145:           f_url = new URL(p);
  146:      } 
  147:      catch (MalformedURLException exc) {
  148:           System.out.print("Malformed URL=" + p + "\n");
  149:        }
  150:        iImg[idx] = getImage(f_url);
  151:      }
  152:      q = "IX" + idx;
  153:      p = getParameter(q);
  154:      iX[idx]=(p==null)?20:Integer.valueOf(p).intValue();
  155:      q = "IY" + idx;
  156:      p = getParameter(q);
  157:      iY[idx]=(p==null)?30:Integer.valueOf(p).intValue();
  158:      // System.out.println("X= "+Xcord[idx]+" Y= "+Ycord[idx]+" L= "+sLabel[idx]);
  159:    }
  160:    
  161:    
  162:    
  163:    p=getParameter("BGIMG");
  164:    if(p != null) {
  165:      try {
  166:           System.out.print("URL=" + p + "\n");
  167:           f_url = new URL(p);
  168:      } 
  169:      catch (MalformedURLException exc) {
  170:           System.out.print("Malformed URL=" + p + "\n");
  171:      }
  172:      img = getImage(f_url);
  173:    }
  174:    p=getParameter("FSIZE");
  175:    fsize=(p==null)?16:Integer.valueOf(p).intValue();
  176:    p=getParameter("GRID");
  177:    if(p != null) {
  178:        grid_ww=Integer.valueOf(p).intValue();
  179:        show_grid = 1;
  180:    }
  181:    f16 = new Font("TimesRoman",Font.BOLD,fsize);
  182:  }
  183:  
  184: public void paint(Graphics g)
  185:  {
  186:    int        idx; 
  187:    Dimension  d = getSize();
  188:    int        appw = d.width;
  189:    int        apph = d.height;
  190:    int        x1,y1,x2,y2;
  191:    
  192:     g.setFont(f16);
  193:     if( img != null ) {
  194:        g.drawImage(img, 0, 0, this);
  195:     } else {
  196:        g.setColor(Color.white);
  197:        g.fillRect(0, 0, appw, apph);
  198:     }
  199:     
  200:     for(idx=0;idx<img_cnt;idx++){
  201:       if( iImg[idx] != null ) {
  202:         g.drawImage(iImg[idx], iX[idx],iY[idx], this);
  203:       } else {
  204:         g.setColor(Color.white);
  205:         g.fillRect(iX[idx], iY[idx], appw, apph);
  206:       }
  207:     }
  208:     
  209:     
  210:     
  211:     g.setColor(Color.black);
  212:     for(idx=0;idx<label_cnt;idx++){
  213:       g.drawString(sLabel[idx],Xcord[idx],Ycord[idx]);
  214:     }
  215:     if((show_grid == 1) && (grid_ww>1)) {
  216:       for(x1=0,y1=0,y2=apph;x1<=appw;x1=x1+grid_ww) {
  217:         x2=x1;
  218:         g.drawLine(x1,y1,x2,y2);
  219:       }
  220:       for(x1=0,y1=0,x2=appw;y1<=apph;y1=y1+grid_ww) {
  221:         y2=y1;
  222:         g.drawLine(x1,y1,x2,y2);
  223:       }
  224:     }
  225:  }
  226: public void run()   { }
  227: public void start() { }
  228: public void stop()  { }
  229: 
  230: }
  231: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>