Welcome to the Java Programming Forums


The professional, friendly Java community. 21,500 members and growing!


The Java Programming Forums are a community of Java programmers from all around the World. Our members have a wide range of skills and they all have one thing in common: A passion to learn and code Java. We invite beginner Java programmers right through to Java professionals to post here and share your knowledge. Become a part of the community, help others, expand your knowledge of Java and enjoy talking with like minded people. Registration is quick and best of all free. We look forward to meeting you.


>> REGISTER NOW TO START POSTING


Members have full access to the forums. Advertisements are removed for registered users.

Results 1 to 2 of 2

Thread: How to call table?

  1. #1
    Junior Member
    Join Date
    Aug 2012
    Posts
    4
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default How to call table?

    Hello!

    I would like to call the table "TablePrintDemo"(se below) from another class and method.
    I also would like to pass a matris with values to be printed in the table.

    What method should I call in the class TablePrintDemo ?

    TablePrintDemo is downloaded from:

    Using Swing Components: Examples (The Java™ Tutorials > Creating a GUI with Swing > Using Swing Components)

    Hope I can get some help with this

    Hello!

    I would like to call the table "TablePrintDemo"(se below) from another class and method.
    I also would like to pass a matris with values to be printed in the table.

    What method should I call in the class TablePrintDemo ?

    TablePrintDemo is downloaded from:

    Using Swing Components: Examples (The Java™ Tutorials > Creating a GUI with Swing > Using Swing Components)

    Hope I can get some help with this
    ------------------------------------------------------------------
    /*
    * Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved.
    *
    * Redistribution and use in source and binary forms, with or without
    * modification, are permitted provided that the following conditions
    * are met:
    *
    * - Redistributions of source code must retain the above copyright
    * notice, this list of conditions and the following disclaimer.
    *
    * - Redistributions in binary form must reproduce the above copyright
    * notice, this list of conditions and the following disclaimer in the
    * documentation and/or other materials provided with the distribution.
    *
    * - Neither the name of Oracle or the names of its
    * contributors may be used to endorse or promote products derived
    * from this software without specific prior written permission.
    *
    * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
    * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
    * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
    * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
    * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    */
     
    package components;
     
    /*
    * TablePrintDemo.java requires no other files.
    */
     
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.JButton;
    import javax.swing.table.AbstractTableModel;
    import java.awt.Dimension;
    import java.awt.Component;
    import javax.swing.BoxLayout;
    import java.text.MessageFormat;
     
    public class TablePrintDemo extends JPanel
    implements java.awt.event.ActionListener {
    private boolean DEBUG = false;
    private JTable table;
     
    public TablePrintDemo() {
    super();
    setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
     
    table = new JTable(new MyTableModel());
    table.setPreferredScrollableViewportSize(new Dimension(500, 70));
    table.setFillsViewportHeight(true);
     
    //Create the scroll pane and add the table to it.
    JScrollPane scrollPane = new JScrollPane(table);
     
    //Add the scroll pane to this panel.
    add(scrollPane);
     
    //Add a print button.
    JButton printButton = new JButton("Print");
    printButton.setAlignmentX(Component.CENTER_ALIGNME NT);
    printButton.addActionListener(this);
    add(printButton);
     
    }
     
    public void actionPerformed(java.awt.event.ActionEvent ignore) {
    MessageFormat header = new MessageFormat("Page {0,number,integer}");
    try {
    table.print(JTable.PrintMode.FIT_WIDTH, header, null);
    } catch (java.awt.print.PrinterException e) {
    System.err.format("Cannot print %s%n", e.getMessage());
    }
    }
     
    class MyTableModel extends AbstractTableModel {
    private String[] columnNames = {"First Name",
    "Last Name",
    "Sport",
    "# of Years",
    "Vegetarian"};
    private Object[][] data = {
    {"Kathy", "Smith",
    "Snowboarding", new Integer(5), new Boolean(false)},
    {"John", "Doe",
    "Rowing", new Integer(3), new Boolean(true)},
    {"Sue", "Black",
    "Knitting", new Integer(2), new Boolean(false)},
    {"Jane", "White",
    "Speed reading", new Integer(20), new Boolean(true)},
    {"Joe", "Brown",
    "Pool", new Integer(10), new Boolean(false)}
    };
     
    public int getColumnCount() {
    return columnNames.length;
    }
     
    public int getRowCount() {
    return data.length;
    }
     
    public String getColumnName(int col) {
    return columnNames[col];
    }
     
    public Object getValueAt(int row, int col) {
    return data[row][col];
    }
     
    /*
    * JTable uses this method to determine the default renderer/
    * editor for each cell. If we didn't implement this method,
    * then the last column would contain text ("true"/"false"),
    * rather than a check box.
    */
    public Class getColumnClass(int c) {
    return getValueAt(0, c).getClass();
    }
     
    /*
    * Don't need to implement this method unless your table's
    * editable.
    */
    public boolean isCellEditable(int row, int col) {
    //Note that the data/cell address is constant,
    //no matter where the cell appears onscreen.
    if (col < 2) {
    return false;
    } else {
    return true;
    }
    }
     
    /*
    * Don't need to implement this method unless your table's
    * data can change.
    */
    public void setValueAt(Object value, int row, int col) {
    if (DEBUG) {
    System.out.println("Setting value at " + row + "," + col
    + " to " + value
    + " (an instance of "
    + value.getClass() + ")");
    }
     
    data[row][col] = value;
    fireTableCellUpdated(row, col);
     
    if (DEBUG) {
    System.out.println("New value of data:");
    printDebugData();
    }
    }
     
    private void printDebugData() {
    int numRows = getRowCount();
    int numCols = getColumnCount();
     
    for (int i=0; i < numRows; i++) {
    System.out.print(" row " + i + ":");
    for (int j=0; j < numCols; j++) {
    System.out.print(" " + data[i][j]);
    }
    System.out.println();
    }
    System.out.println("--------------------------");
    }
    }
     
    /**
    * Create the GUI and show it. For thread safety,
    * this method should be invoked from the
    * event-dispatching thread.
    */
    private static void createAndShowGUI() {
    //Create and set up the window.
    JFrame frame = new JFrame("TablePrintDemo");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);
     
    //Create and set up the content pane.
    TablePrintDemo newContentPane = new TablePrintDemo();
    newContentPane.setOpaque(true); //content panes must be opaque
    frame.setContentPane(newContentPane);
     
    //Display the window.
    frame.pack();
    frame.setVisible(true);
    }
     
    public static void main(String[] args) {
    //Schedule a job for the event-dispatching thread:
    //creating and showing this application's GUI.
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
    public void run() {
    createAndShowGUI();
    }
    });
    }
    }
    Last edited by helloworld922; August 15th, 2012 at 05:58 PM. Reason: please use [code] tags


  2. #2
    Super Moderator jps's Avatar
    Join Date
    Jul 2012
    Posts
    2,642
    My Mood
    Daring
    Thanks
    90
    Thanked 263 Times in 232 Posts

    Default Re: How to call table?

    Did you read the forum rules when you signed up? ...or the link at the top of this section?

Similar Threads

  1. How to call database???
    By mahoppe in forum JDBC & Databases
    Replies: 2
    Last Post: August 23rd, 2011, 08:31 PM
  2. Can't Call J2ee
    By DJB79 in forum What's Wrong With My Code?
    Replies: 0
    Last Post: June 28th, 2011, 02:17 AM
  3. Call by Reference & Call by Value
    By Lokesh in forum Java Theory & Questions
    Replies: 1
    Last Post: February 21st, 2011, 12:19 PM
  4. How to call int value from another class
    By IDK12 in forum Java Theory & Questions
    Replies: 7
    Last Post: January 14th, 2011, 08:18 PM
  5. Call with a different signature
    By brajesh in forum What's Wrong With My Code?
    Replies: 2
    Last Post: December 15th, 2010, 01:05 PM