Создание программного комплекса средствами объектно-ориентированного программирования, страница 9

public MyException() {

super("Вы не ввели фамилию нарушителя для поиска");

}

}

private void checkName(JTextField bName) throws MyException,

NullPointerException {

String sName = bName.getText();

if (sName.contains("Фамилия") || sName.length() == 0)

throw new MyException();

}

public void show() throws Exception {

policelist = new JFrame("ГИБДД. Сведения о нарушениях v2.0. ");

policelist.setSize(1200, 300);

policelist.setLocation(100, 100);

policelist.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// -----------------txtNew = new JButton(new ImageIcon("./ico/txtNew.png"));

txtSave = new JButton(new ImageIcon("./ico/txtSave.png"));

txtOpen = new JButton(new ImageIcon("./ico/txtOpen.png"));

add = new JButton(new ImageIcon("./ico/add.png"));

delete = new JButton(new ImageIcon("./ico/delete.png"));

htmlSave = new JButton(new ImageIcon("./ico/htmlSave.png"));

pdfSave = new JButton(new ImageIcon("./ico/pdfSave.png"));

xmlSave = new JButton(new ImageIcon("./ico/xmlSave.png"));

xmlOpen = new JButton(new ImageIcon("./ico/xmlOpen.png"));

// -----------------// -----------------txtNew.setToolTipText("Создать");

txtSave.setToolTipText("Сохранить");

txtOpen.setToolTipText("Загрузить");

add.setToolTipText("Добавить");

delete.setToolTipText("Удалить");

pdfSave.setToolTipText("Сохранить в PDF");

htmlSave.setToolTipText("Сохранить в HTML");

xmlSave.setToolTipText("Сохранить в XML");

xmlOpen.setToolTipText("Загрузить в XML");

// ------------------^

toolBar = new JToolBar("Panel");

// ------------------v

toolBar.add(txtNew);

toolBar.add(txtSave);

toolBar.add(txtOpen);

toolBar.add(add);

toolBar.add(delete);

toolBar.add(pdfSave);

toolBar.add(htmlSave);

toolBar.add(xmlSave);

toolBar.add(xmlOpen);

// ------------------^

policelist.setLayout(new BorderLayout());

policelist.add(toolBar, BorderLayout.NORTH);

// Создание таблицы и инициализация одной строки.

String[] columns = { "Фамилия", "Номер", "Нарушение", "Дата ТО",

"Отчёт о нарушениях" };

String[][] data = {};

model = new DefaultTableModel(data, columns);

violation = new JTable(model);

scroll = new JScrollPane(violation);

// *******Загрузка бэкапа при старте программы *************

try {

xmlOpenIN file = new xmlOpenIN(null, model, violation);

} catch (Exception e) {

JOptionPane.showMessageDialog(policelist, " Автосохранённый файл\nповреждён или не найден.", "Ошибка сохранения.", JOptionPane.WARNING_MESSAGE);

// Открыть или создать

Object[] options = {"Открыть TXT", "Создать TXT", "Продолжить без открытия"};

Component frame = null; int n = JOptionPane.showOptionDialog(frame,

"Хотите загрузить каталог нарушений?", "Запуск программы",

JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null,

options, options[1]);

if (n==0)

{

txtOpen file = new txtOpen(null, model, policelist);

}

if (n==1)

{

txtNew file = new txtNew(null, model, policelist); 

}

// TODO Auto-generated catch block

e.printStackTrace();

}

// ************************************************************

// ************************* Сортировка стобцов ****************

TableRowSorter<TableModel> sorter = new TableRowSorter(model);

violation.setRowSorter(sorter);

// *************************************************************

policelist.add(scroll, BorderLayout.CENTER);

violatorName = new JTextField("Фамилия");

search = new JButton("Поиск нарушителя");

JPanel searchPanel = new JPanel();

searchPanel.add(violatorName);

searchPanel.add(search);