home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / java / TableExample.java < prev    next >
Encoding:
Java Source  |  1999-11-28  |  4.1 KB  |  123 lines

  1. /*
  2.  * @(#)TableExample.java    1.0 99/11/27
  3.  * 
  4.  * Copyright (c) 1999, David Griffiths. All Rights Reserved.
  5.  * 
  6.  * This software is the proprietary information of David Griffiths.
  7.  * This source code may not be published or redistributed without the 
  8.  * express permission of the author. 
  9.  * 
  10.  * THE AUTHOR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY 
  11.  * OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO 
  12.  * THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
  13.  * PURPOSE, OR NON-INFRINGEMENT. THE AUTHOR SHALL NOT BE LIABLE FOR ANY DAMAGES
  14.  * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
  15.  * THIS SOFTWARE OR ITS DERIVATIVES.
  16.  * 
  17.  */
  18.  
  19. import java.awt.*;
  20. import java.applet.*;
  21. import com.sun.java.swing.*;
  22.  
  23. /**
  24.  * A Swing table example
  25.  */
  26. public class TableExample extends JApplet {
  27.     public void init() {
  28.  
  29.         JTable tabMain = new JTable(cells, headings);
  30.  
  31.         Font fntTable = new Font("HELVETICA", Font.PLAIN, 12);
  32.         tabMain.setFont(fntTable);
  33.         tabMain.getTableHeader().setFont(fntTable);
  34.  
  35.         // Switch off auto-resize, because it's mad...
  36.         tabMain.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
  37.  
  38.         /*
  39.          * The example code you see in some of the Java
  40.          * documentation suggests you should place a JTable
  41.          * inside a JScrollPane with
  42.          *
  43.          *    JScrollPane scrollPane = new JScrollPane(tabMain);
  44.          *    getContentPane().add(scrollPane, BorderLayout.CENTER);
  45.          *
  46.          * However, if you do that, Swing will lose its column
  47.          * headings which need to be placed in the JScrollPane's
  48.          * column header view.
  49.          * Fortunately, the JTable class has a very nice static 
  50.          * method called "createScrollPaneForTable(...)" that
  51.          * does all this for you.
  52.          */
  53.  
  54.         getContentPane().add(
  55.             JTable.createScrollPaneForTable(tabMain),
  56.             BorderLayout.CENTER
  57.         );
  58.     }
  59.  
  60.     // Some example data follows
  61.  
  62.     String[] headings = {
  63.         "Author", 
  64.         "Title",
  65.         "Publisher",
  66.         "ISBN",
  67.         "Description"
  68.     };
  69.  
  70.     Object[][] cells = {
  71.         {"Peter Anders",
  72.          "Envisioning Cyberspace:  Designing 3d Electronic Spaces",
  73.          "McGraw-Hill Companies, The", "0070016321",
  74.         "Free of the constraints of physical form and limited..."},
  75.         {"Tom Armstrong",
  76.          "Activex Developer`s SourceBook:  With CD-ROM",
  77.          "McGraw-Hill Companies, The", "0070062137",
  78.         "Focusing on design and development of Web-based and..."},
  79.         {"Richard L. Petersen",
  80.          "UNIX Clearly Explained",
  81.          "Academic Press, Incorporated", "0125521308",
  82.         "Unix Clearly Explained is a complete tutorial introduction..."},
  83.         {"Robby Swipe",
  84.          "A smile, a song and a balloon: 30 years of comedy",
  85.          "Biscos Discount Publishers", "0177682456",
  86.         "I'll never forget what the late great Bernie Clifton said to me..."},
  87.         {"Peter Anders",
  88.          "Envisioning Cyberspace:  Designing 3d Electronic Spaces",
  89.          "McGraw-Hill Companies, The", "0070016321",
  90.         "Free of the constraints of physical form and limited..."},
  91.         {"Tom Armstrong",
  92.          "Activex Developer`s SourceBook:  With CD-ROM",
  93.          "McGraw-Hill Companies, The", "0070062137",
  94.         "Focusing on design and development of Web-based and..."},
  95.         {"Richard L. Petersen",
  96.          "UNIX Clearly Explained",
  97.          "Academic Press, Incorporated", "0125521308",
  98.         "Unix Clearly Explained is a complete tutorial introduction..."},
  99.         {"Robby Swipe",
  100.          "A smile, a song and a balloon: 30 years of comedy",
  101.          "Biscos Discount Publishers", "0177682456",
  102.         "I'll never forget what the late great Bernie Clifton said to me..."},
  103.         {"Peter Anders",
  104.          "Envisioning Cyberspace:  Designing 3d Electronic Spaces",
  105.          "McGraw-Hill Companies, The", "0070016321",
  106.         "Free of the constraints of physical form and limited..."},
  107.         {"Tom Armstrong",
  108.          "Activex Developer`s SourceBook:  With CD-ROM",
  109.          "McGraw-Hill Companies, The", "0070062137",
  110.         "Focusing on design and development of Web-based and..."},
  111.         {"Richard L. Petersen",
  112.          "UNIX Clearly Explained",
  113.          "Academic Press, Incorporated", "0125521308",
  114.         "Unix Clearly Explained is a complete tutorial introduction..."},
  115.         {"Robby Swipe",
  116.          "A smile, a song and a balloon: 30 years of comedy",
  117.          "Biscos Discount Publishers", "0177682456",
  118.         "I'll never forget what the late great Bernie Clifton said to me..."}
  119.     };
  120. }
  121.  
  122.  
  123.