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 6 of 6

Thread: How to call tablle

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

    Default How to call tablle

    Hello!

    I would like to call the table ( see attached file)

    This table example is downloaded from : Using Swing Components: Examples (The Java™ Tutorials > Creating a GUI with Swing > Using Swing Components)


    I would like to call the table from an other class and also to pass
    a matrix with the call to be printed out in the table.

    Hope to get som help
    Attached Files Attached Files


  2. #2
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,042
    Thanks
    63
    Thanked 2,708 Times in 2,658 Posts

    Default Re: How to call tablle

    Please post the code here that you are having problems with. Be sure to wrap the code in code tags.
    If you don't understand my answer, don't ignore it, ask a question.

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

    Default Re: How to call tablle

    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_ALIGNMENT);
            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_CLOSE);
     
            //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();
                }
            });
        }
    }

  4. #4
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,042
    Thanks
    63
    Thanked 2,708 Times in 2,658 Posts

    Default Re: How to call tablle

    What do you mean by "call the table"? Are you talking about getting a copy of the variable: table so you can call its methods?

    What data type is the matrix? Do you want to pass a variable that refers to a "matrix" to a method that can update the table? One way would be to get a reference to the class that contains the table and call a method in the class to update the table contained in the class.
    If you don't understand my answer, don't ignore it, ask a question.

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

    Default Re: How to call tablle

    What do you mean by "call the table"? - I would like to make a call so the table is triggerad/started, the same thing as the main-method is doing.

    Are you talking about getting a copy of the variable: table so you can call its methods? - Yes I would like to call it's methods, the problem is I'm not sur what
    method to call to get the similar function as main does now.

    What data type is the matrix? - the matrix is of the type: int[][] x;

    Do you want to pass a variable that refers to a "matrix" to a method that can update the table? - Yes

    One way would be to get a reference to the class that contains the table and call a method in the class to update the table contained in the class. - Yes, I think that should work, but I'm not sure how it would look like.

    Many thanks in advance : - )

  6. #6
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,042
    Thanks
    63
    Thanked 2,708 Times in 2,658 Posts

    Default Re: How to call tablle

    ake a call so the table is triggerad/started
    Not sure what you are asking.

    JTable is a class is created by using a new statement and passing it an argument:
    table = new JTable(new MyTableModel());

    Your questions say that you know little about java programming and nothing about how to use a JTable. I suggest that you start by learning more about how to use classes and how to create and use JTables. Take a look at the tutorial:
    How to Use Tables (The Java™ Tutorials > Creating a GUI With JFC/Swing > Using Swing Components)
    If you don't understand my answer, don't ignore it, ask a question.

Similar Threads

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