| /* |
| * Copyright (c) 1997, 2011, 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 nor 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. |
| */ |
| |
| /* |
| * This source code is provided to illustrate the usage of a given feature |
| * or technique and has been deliberately simplified. Additional steps |
| * required for a production-quality application, such as security checks, |
| * input validation and proper error handling, might not be present in |
| * this sample code. |
| */ |
| |
| |
| |
| import java.awt.event.WindowAdapter; |
| import java.awt.event.WindowEvent; |
| import java.awt.Dimension; |
| import java.util.logging.Level; |
| import java.util.logging.Logger; |
| import javax.swing.JFrame; |
| import javax.swing.JScrollPane; |
| import javax.swing.JTable; |
| import javax.swing.UIManager; |
| import javax.swing.UIManager.LookAndFeelInfo; |
| |
| |
| /** |
| * A minimal example, using the JTable to view data from a database. |
| * |
| * @author Philip Milne |
| */ |
| public class TableExample2 { |
| |
| public TableExample2(String URL, String driver, String user, |
| String passwd, String query) { |
| JFrame frame = new JFrame("Table"); |
| frame.addWindowListener(new WindowAdapter() { |
| |
| @Override |
| public void windowClosing(WindowEvent e) { |
| System.exit(0); |
| } |
| }); |
| JDBCAdapter dt = new JDBCAdapter(URL, driver, user, passwd); |
| dt.executeQuery(query); |
| |
| // Create the table |
| JTable tableView = new JTable(dt); |
| |
| JScrollPane scrollpane = new JScrollPane(tableView); |
| scrollpane.setPreferredSize(new Dimension(700, 300)); |
| |
| frame.getContentPane().add(scrollpane); |
| frame.pack(); |
| frame.setVisible(true); |
| } |
| |
| public static void main(String[] args) { |
| if (args.length != 5) { |
| System.err.println("Needs database parameters eg. ..."); |
| System.err.println( |
| "java TableExample2 \"jdbc:derby://localhost:1527/sample\" " |
| + "org.apache.derby.jdbc.ClientDriver app app " |
| + "\"select * from app.customer\""); |
| return; |
| } |
| |
| // Trying to set Nimbus look and feel |
| try { |
| for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) { |
| if ("Nimbus".equals(info.getName())) { |
| UIManager.setLookAndFeel(info.getClassName()); |
| break; |
| } |
| } |
| } catch (Exception ex) { |
| Logger.getLogger(TableExample2.class.getName()).log(Level.SEVERE, |
| "Failed to apply Nimbus look and feel", ex); |
| } |
| |
| new TableExample2(args[0], args[1], args[2], args[3], args[4]); |
| } |
| } |