package lect9;
import java.awt.*;
import java.awt.event.*;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JDialog;
import javax.swing.JTextField;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JPanel;
import java.util.*;
public class ViewCarLabelDlg extends JDialog implements ActionListener {
private static final int panelWidth = 300;
private static final int panelHeight = 200;
private static final String plateStr = "Plate";
private static final String modelStr = "Model";
private static final String makeStr = "Make";
private static final JLabel plateHead = new JLabel(plateStr);
private static final JLabel modelHead = new JLabel(modelStr);
private static final JLabel makeHead = new JLabel(makeStr);
Container pane = null;
JPanel dataPanel = null;
JScrollPane scrollPane = null;
private static final String okString = "OK";
public ViewCarLabelDlg(JFrame frame) {
super(frame, true);
Container pane = getContentPane();
pane.setLayout(new GridLayout(3, 0));
JLabel addCarLabel = new JLabel("View Car");
dataPanel = new JPanel();
dataPanel.setLayout(null);
dataPanel.setPreferredSize(new Dimension(panelWidth, panelHeight));
dataPanel.add(plateHead);
dataPanel.add(modelHead);
dataPanel.add(makeHead);
Dimension size = plateHead.getPreferredSize();
plateHead.setBounds(5, 5, size.width, size.height);
size = modelHead.getPreferredSize();
modelHead.setBounds(55, 5, size.width, size.height);
size = makeHead.getPreferredSize();
makeHead.setBounds(175, 5, size.width, size.height);
JButton okBtn = new JButton(okString);
okBtn.addActionListener(this);
pane.add(addCarLabel);
scrollPane = new JScrollPane(dataPanel);
pane.add(scrollPane);
pane.add(okBtn);
pack();
setVisible(false);
System.out.println("ViewCarDialog() done!");
}
public void actionPerformed(ActionEvent evt) {
String actionCommand = evt.getActionCommand();
if (actionCommand.equals(okString)) {
System.out.println("equals " + okString);
try {
setVisible(false);
} catch (Exception ex) {
System.err.println("Error! Invalid data.");
}
}
}
void viewCar() {
System.out.println("CarDB.viewCars()");
String selectSql = "SELECT * FROM CAR";
System.out.println("selectSql:" + selectSql);
Vector<Car> cars = new Vector();
cars.removeAllElements();
ConnectionDB connDB = new ConnectionDB();
Connection con = connDB.getConnection();
Statement stmnt = null;
if (con != null) {
try {
stmnt = con.createStatement();
ResultSet rs = stmnt.executeQuery(selectSql);
while (rs.next()) {
int plate = rs.getInt("PLATE");
String model = rs.getString("MODEL");
String make = rs.getString("MAKE");
Car car = new Car(plate, model, make);
cars.add(car);
}
stmnt.close();
con.close();
System.out.println("Retrieved successfully.");
} catch (Exception ex) {
ex.printStackTrace();
}
}
dataPanel.removeAll();
dataPanel.add(plateHead);
dataPanel.add(modelHead);
dataPanel.add(makeHead);
Dimension size = plateHead.getPreferredSize();
plateHead.setBounds(5, 5, size.width, size.height);
size = modelHead.getPreferredSize();
modelHead.setBounds(55, 5, size.width, size.height);
size = makeHead.getPreferredSize();
makeHead.setBounds(175, 5, size.width, size.height);
int y = 35;
JLabel label = null;
int idx = 0;
Iterator it = cars.iterator();
while (it.hasNext()) {
Car car = (Car) it.next();
System.out.println(car.toString());
label = new JLabel(""+car.plate);
dataPanel.add(label);
size = label.getPreferredSize();
label.setBounds(5, y, size.width, size.height);
label = new JLabel(car.model);
dataPanel.add(label);
size = label.getPreferredSize();
label.setBounds(55, y, size.width, size.height);
label = new JLabel(car.make);
dataPanel.add(label);
size = label.getPreferredSize();
label.setBounds(175, y, size.width, size.height);
y += 20;
idx += 1;
}
pack();
setVisible(true);
}
}
ความคิดเห็น
แสดงความคิดเห็น