?? listbooks.java
字號(hào):
//import the packages for using the classes in them into the program
import java.sql.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.print.*;
import javax.swing.table.*;
/**
*A public class
*/
public class listBooks extends JInternalFrame {
/***************************************************************************
*** declaration of the private variables used in the program ***
***************************************************************************/
//for creating the North Panel
private JPanel northPanel = new JPanel();
//for creating the Center Panel
private JPanel centerPanel= new JPanel();
//for creating the label
private JLabel northLabel = new JLabel("THE LIST FOR THE BOOKS");
//for creating the button
private JButton printButton;
//for creating the table
private JTable table;
//for creating the TableColumn
private TableColumn column = null;
//for creating the JScrollPane
private JScrollPane scrollPane;
//for creating an object for the ResultSetTableModel class
private ResultSetTableModel tableModel;
/***************************************************************************
* for setting the required information for the ResultSetTableModel class. *
***************************************************************************/
private static final String JDBC_DRIVER = "sun.jdbc.odbc.JdbcOdbcDriver";
private static final String DATABASE_URL = "jdbc:odbc:JLibrary";
private static final String DEFAULT_QUERY = "SELECT Subject,Title,Author,"+
"Publisher,Copyright,Edition,Pages,ISBN,Availble FROM Books";
//constructor of listBooks
public listBooks() {
//for setting the title for the internal frame
super("Books", false, true, false, true);
//for setting the icon
setFrameIcon(new ImageIcon(ClassLoader.getSystemResource("images/List16.gif")));
//for getting the graphical user interface components display area
Container cp = getContentPane();
//for bassing the required information to the ResultSetTableModel object
try {
tableModel = new ResultSetTableModel(JDBC_DRIVER, DATABASE_URL, DEFAULT_QUERY);
//for setting the Query
try {
tableModel.setQuery(DEFAULT_QUERY);
}
catch(SQLException sqlException) {}
}
catch(ClassNotFoundException classNotFound) {
System.out.println(classNotFound.toString());
}
catch(SQLException sqlException) {
System.out.println(sqlException.toString());
}
//for setting the table with the information
table = new JTable(tableModel);
//for setting the size for the table
table.setPreferredScrollableViewportSize(new Dimension(850, 200));
//user can not edit the table
table.setEnabled(false);
//for setting the font
table.setFont(new Font("Verdana", Font.PLAIN, 12));
//for setting the scrollpane to the table
scrollPane = new JScrollPane(table);
//for setting the size for the table columns
for(int i = 0; i < 9; i++) {
column = table.getColumnModel().getColumn(i);
if(i == 0) //Subject
column.setPreferredWidth(50);
if(i == 1) //Title
column.setPreferredWidth(130);
if(i == 2) //Authors
column.setPreferredWidth(50);
if(i == 3) //Publisher
column.setPreferredWidth(50);
if(i == 4) //Copyright
column.setPreferredWidth(50);
if(i == 5) //Edition
column.setPreferredWidth(40);
if(i == 6) //Pages
column.setPreferredWidth(40);
if(i == 7) //ISBN
column.setPreferredWidth(70);
if(i == 8) //Availble
column.setPreferredWidth(40);
}
//for setting the font to the label
northLabel.setFont(new Font("Tahoma", Font.BOLD, 14));
//for setting the layout to the panel
northPanel.setLayout(new FlowLayout(FlowLayout.CENTER));
//for adding the label to the panel
northPanel.add(northLabel);
//for adding the panel to the container
cp.add("North", northPanel);
//for setting the layout to the panel
centerPanel.setLayout(new BorderLayout());
//for creating an image for the button
ImageIcon printIcon = new ImageIcon(ClassLoader.getSystemResource("images/Print16.gif"));
//for adding the button to the panel
printButton = new JButton("print the books", printIcon);
//for setting the tip text
printButton.setToolTipText("Print");
//for setting the font to the button
printButton.setFont(new Font("Tahoma", Font.PLAIN, 12));
//for adding the button to the panel
centerPanel.add(printButton, BorderLayout.NORTH);
//for adding the scrollpane to the panel
centerPanel.add(scrollPane, BorderLayout.CENTER);
//for setting the border to the panel
centerPanel.setBorder(BorderFactory.createTitledBorder("Books:"));
//for adding the panel to the container
cp.add("Center", centerPanel);
//for adding the actionListener to the button
printButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
Thread runner = new Thread() {
public void run() {
try {
PrinterJob prnJob = PrinterJob.getPrinterJob();
prnJob.setPrintable(new printingBooks(DEFAULT_QUERY));
if(!prnJob.printDialog())
return;
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
prnJob.print();
setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
}
catch(PrinterException ex) {
System.out.println("Printing error: " + ex.toString());
}
}
};
runner.start();
}
});
//for setting the visible to true
setVisible(true);
//to show the frame
pack();
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -