Вход

Программирование приложения на Java.

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 111332
Дата создания 2012
Страниц 22
Источников 3
Мы сможем обработать ваш заказ (!) 10 июня в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
3 090руб.
КУПИТЬ

Содержание

Содержание
Задание
Введение
1. Постановка задачи
2. Вычислительная система
2.1. Выбор программного средства разработки
2.2. Обоснование выбора операционной системы
2.3. Требования к программному и аппаратному обеспечению
3. Проектирование приложения
3.1. Проектирование алгоритма реализации
3.2. Разработка графического интерфейса программы
3.3. Варианты использования программы
3.4. Диаграмма деятельности
4. Программирование приложения
5. Описание применения программы
5.1. Инсталляция программы и системные требования
5.2. Руководство пользователя
Заключение
Список используемых источников
Приложение 1

Фрагмент работы для ознакомления

setLayout(new GridLayout(2, false));
// элемент ввода времени
final DateTime time = new DateTime(dialog, SWT.TIME|SWT.SHORT);
final Text note = new Text(dialog,SWT.LEFT);// элемент ввода строки записи
GridData grD = new GridData(); // устанавливаем данные раскладки
grD.horizontalAlignment = GridData.FILL;// заполнение по горизонтали
// занимать все дополнительное место по горизонтали, если таковое появится
grD.grabExcessHorizontalSpace = true;
grD.widthHint=350; // исходный размер в ширину 350 пикселов
note.setLayoutData(grD); // устанавливаем данные раскладки
new Label(dialog, SWT.NONE); // пустой объект для того, чтобы занять
// ячейку таблицы раскладки
Button ok = new Button(dialog, SWT.PUSH); // кнопка подтверждения
ok.setText(" Добавить "); // устанавливаем надпись на кнопке
// кнопка справа, надпись по центру
ok.setLayoutData(new GridData(SWT.RIGHT,SWT.CENTER,false,false));
// заводим слушателя для нажатия кнопки подтверждения
ok.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e){
String nr=String.format("%02d:%02d !!! ",
time.getHours(),time.getMinutes())+note.getText(); // добавляемая надпись
int i;
for(i=0; i < lst.getItemCount(); i++){// проходим по списку
// время добавляемой записи раньше, чем у текущей
if(nr.substring(0,5).compareTo(lst.getItem(i).substring(0,5)) < 0){
lst.add(nr,i); // вставляем запись в текущую позицию
break;
}
}
if(i == lst.getItemCount()) // у добавляемой записи время больше,
// чем у всех текущих
lst.add(nr,lst.getItemCount()); // добавляем запись в конец списка
dialog.close(); // закрываем диалог
}
});
dialog.setDefaultButton(ok); // устанавливаем кнопку по умолчанию
dialog.pack();
dialog.open(); // открываем диалог
}
});
edit = new Button(sh,SWT.PUSH|SWT.CENTER); // кнопка "Редактировать"
grD = new GridData(); // объект данных раскладки для кнопки
grD.horizontalAlignment = GridData.FILL; // на ширину столбца
edit.setLayoutData(grD); // устанавливаем данные раскладки
edit.setText("Редактировать"); // устанавливаем надпись на кнопке
// заводим слушателя для нажатия кнопки "Редактировать"
edit.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e){
final int num=lst.getSelectionIndex(); // фиксируем номер записи,выбранной в списке
if(num != -1){ // запись выбрана
// открываем окно диалога
final Shell dialog = new Shell(sh, SWT.DIALOG_TRIM|SWT.APPLICATION_MODAL);
dialog.setLayout(new GridLayout(2, false)); // менеджер раскладки табличный
// на два столбца
// элемент ввода времени
final DateTime time = new DateTime(dialog, SWT.TIME | SWT.SHORT);
final Text note = new Text(dialog,SWT.LEFT);// элемент ввода строки записи
GridData grD = new GridData(); // устанавливаем данные раскладки
grD.horizontalAlignment = GridData.FILL;// заполнение по горизонтали
grD.grabExcessHorizontalSpace = true; // занимать все дополнительное место по
// горизонтали, если таковое появится
grD.widthHint=350; // первоначальный размер в ширину 350
// пикселов
note.setLayoutData(grD); // устанавливаем данные раскладки
new Label(dialog,SWT.NONE); // пустой объект для того, чтобы занять
// ячейку таблицы раскладки
final String cur; // выбранная строка списка
cur=lst.getItem(num); // читаем выбранный элемент списка
note.setText(cur.substring(10)); // копируем текстовую часть строки в
// элемент ввода текста
time.setHours(Integer.parseInt(cur.substring(0,2))); // устанавливаем часы
// из строки
time.setMinutes(Integer.parseInt(cur.substring(3,5))); // устанавливаем минуты
// из строки
Button ok = new Button(dialog, SWT.PUSH); // кнопка подтверждения
ok.setText(" Сохранить "); // устанавливаем надпись на кнопке
// кнопка справа, надпись по центру
ok.setLayoutData(new GridData(SWT.RIGHT,SWT.CENTER,false,false));
// заводим слушателя для нажатия кнопки подтверждения
ok.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e){
// отредактированная запись
String nr=String.format("%02d:%02d !!! ",
time.getHours(),time.getMinutes())+note.getText();
int i;
lst.remove(num); // удаляем исходную запись
for(i=0; i < lst.getItemCount(); i++){ // проходим по списку
// время отредактированной записи раньше, чем у текущей
if(nr.substring(0,5).compareTo(lst.getItem(i).substring(0,5)) < 0){
lst.add(nr,i); // вставляем запись в текущую позицию
break;
}
}
// у вставляемой записи время больше, чем у всех текущих
if(i == lst.getItemCount())
lst.add(nr,lst.getItemCount()); // добавляем запись в конец списка
dialog.close();
} // закрываем диалог
});
dialog.setDefaultButton(ok); // устанавливаем кнопку по умолчанию
dialog.pack();
dialog.open(); // открываем диалог
}
}
});
erase = new Button(sh,SWT.PUSH|SWT.CENTER); // кнопка "Удалить"
grD = new GridData(); // объект данных раскладки для кнопки
grD.horizontalAlignment = GridData.FILL; // на ширину столбца
erase.setLayoutData(grD); // устанавливаем данные раскладки
erase.setText("Удалить"); // устанавливаем надпись на кнопке
// заводим слушателя для нажатия кнопки "Удалить"
erase.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e){
int num=lst.getSelectionIndex(); // определяем номер записи, выбранной в списке
if(num != -1) // запись выбрана
lst.remove(num); // удаляем ее
}
});
done = new Button(sh,SWT.PUSH|SWT.CENTER); // кнопка "Выполнено"
grD = new GridData(); // объект данных раскладки для кнопки
grD.horizontalAlignment = GridData.FILL; // на ширину столбца
done.setLayoutData(grD); // устанавливаем данные раскладки
done.setText("Выполнено"); // устанавливаем надпись на кнопке
// заводим слушателя для нажатия кнопки "Выполнено"
done.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e){
int num=lst.getSelectionIndex(); // определяем номер записи, выбранной в списке
if(num != -1){ // запись выбрана
String cur=lst.getItem(num); // считываем ее из списка
if(cur.substring(6,9).compareTo("...") == 0) // это выполненная запись
cur=cur.replaceFirst("\\.\\.\\.","!!!"); // делаем ее невыполненной
else
cur=cur.replaceFirst("!!!","..."); // делаем ее выполненной
lst.setItem(num,cur); // заменяем запись в списке
}
}
});
move = new Button(sh,SWT.PUSH|SWT.CENTER); // кнопка "Перенести"
grD = new GridData(); // объект данных раскладки для кнопки
grD.horizontalAlignment = GridData.FILL; // на ширину столбца
move.setLayoutData(grD); // устанавливаем данные раскладки
move.setText("Перенести"); // устанавливаем надпись на кнопке
// заводим слушателя для нажатия кнопки "Выполнено"
move.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e){
// определяем номер записи, выбранной в списке
final int num=lst.getSelectionIndex();
if(num != -1){ // запись выбрана
// открываем окно диалога
final Shell dialog = new Shell(sh, SWT.DIALOG_TRIM|SWT.APPLICATION_MODAL);
dialog.setLayout(new GridLayout(2, false)); // менеджер раскладки табличный
// на два столбца
// элемент ввода строки записи (только для чтения)
final Text note = new Text(dialog,SWT.LEFT|SWT.READ_ONLY);
GridData grD = new GridData(); // устанавливаем данные раскладки
grD.horizontalSpan = 2; // занимаем две колонки в ширину
grD.horizontalAlignment = GridData.FILL;// заполнение по горизонтали
grD.grabExcessHorizontalSpace = true; // занимать все дополнительное место
// по горизонтали, если таковое появится
grD.widthHint=350; // первоначальный размер в ширину 350 пикселов
note.setLayoutData(grD); // устанавливаем данные раскладки
// делаем объект календаря для ввода
final DateTime date = new DateTime(dialog, SWT.CALENDAR|SWT.BORDER);
// синхронизируем его с предыдущей датой
date.setDay(currDate.get(Calendar.DAY_OF_MONTH));
date.setMonth(currDate.get(Calendar.MONTH)-1);
date.setYear(currDate.get(Calendar.YEAR));
date.setFocus(); // и устанавливаем на него фокус
note.setText(lst.getItem(num).substring(10)); // копируем в элемент ввода
// текстовую часть строки
Button ok = new Button(dialog,SWT.PUSH); // кнопка подтверждения
ok.setText(" Перенести "); // устанавливаем надпись на кнопке
// кнопка справа, надпись по центру
ok.setLayoutData(new GridData(SWT.RIGHT,SWT.DOWN,false,false));
// заводим слушателя для нажатия кнопки подтверждения
ok.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e){
lst.remove(num); // удаляем выбранную запись списка
WriteFile(currDate); // записываем данные из списка в файл
// синхронизируем предыдущую дату
currDate.set(date.getYear(),date.getMonth() + 1,date.getDay());
// синхронизируем главный элемент управления
calendar.setDate(date.getYear(),date.getMonth(),date.getDay());
lst.removeAll(); // удаляем все записи списка
ReadFile(date); // считываем записи новой даты
lst.add("00:00 !!! "+note.getText(),0); // добавляем запись с сохраненной
// записью, но нулевым временем
dialog.close(); // закрываем диалог
}
});
dialog.setDefaultButton(ok); // устанавливаем кнопку по умолчанию
dialog.pack();
dialog.open(); // открываем диалог
}
}
});
sh.pack();
sh.open(); // открываем главное окно
sh.addListener(SWT.Close, new Listener(){ // заводим слушателя для закрытия главного окна
public void handleEvent(Event event){
WriteFile(currDate); // записываем текущее содержимое списка в файл
}
});
while(!sh.isDisposed()){ // цикл обработки событий
if(!disp.readAndDispatch()) // окно не закрыто
disp.sleep(); // продолжаем ждать
}
sh.dispose(); // освобождаем ресурсы
Display.getCurrent().dispose(); // освобождаем ресурсы
}
public static void ReadFile(Calendar dt){ // чтение файла (параметр - календарная дата)
String fname=String.format("%04d%02d%02d.dat",currDate.get(Calendar.YEAR),
currDate.get(Calendar.MONTH),
currDate.get(Calendar.DAY_OF_MONTH));
ReadFile(fname);
}
// чтение файла (параметр - элемент управления календаря)
public static void ReadFile(DateTime dt){
String fname=String.format("%04d%02d%02d.dat",
calendar.getYear(),calendar.getMonth() + 1,calendar.getDay());
ReadFile(fname);
}
public static void ReadFile(String fname){ // чтение файла (параметр - имя файла)
try{
BufferedReader fi = new BufferedReader( // создаем ридер по имени файла
new InputStreamReader(
new FileInputStream(fname)));
String cur;
while((cur=fi.readLine()) != null) // читаем записи, пока не достигнут конец файла
lst.add(cur,lst.getItemCount()); // добавляем запись в список
fi.close(); // закрываем ридер
}catch (FileNotFoundException ex){ // файл не найден - просто пропускаем
}catch (IOException ex){ // ошибка чтения - выдаем сообщение
MessageBox mb = new MessageBox(sh, SWT.ICON_ERROR|SWT.OK);
mb.setMessage("Ошибка ввода/вывода");
mb.open();
}
}
public static void WriteFile(Calendar dt){ // запись файла (параметр - календарная дата)
String fname=String.format("%04d%02d%02d.dat",currDate.get(Calendar.YEAR),
currDate.get(Calendar.MONTH),
currDate.get(Calendar.DAY_OF_MONTH));
WriteFile(fname);
}
// запись файла (параметр - элемент управления календаря)
public static void WriteFile(DateTime dt){
String fname=String.format("%04d%02d%02d.dat",
calendar.getYear(),calendar.getMonth() + 1,calendar.getDay());
WriteFile(fname);
}
public static void WriteFile(String fname){
try {
BufferedWriter fo = new BufferedWriter( // создаем райтер по имени файла
new OutputStreamWriter(
new FileOutputStream(fname)));
for(int i=0; i < lst.getItemCount(); i++){ // читаем список до конца
fo.write(lst.getItem(i)); // записываем текущий элемент в файл
fo.newLine(); // добавляем перевод строки
}
fo.close(); // закрываем файл
} catch (IOException ex){ // ошибка записи - выдаем сообщение
MessageBox mb = new MessageBox(sh,SWT.ICON_ERROR|SWT.OK);
mb.setMessage("Ошибка ввода/вывода");
mb.open();
}
}
}
7

Список литературы [ всего 3]

Список используемых источников
1. Standard Widget Toolkit http://ru.wikipedia.org/wiki/SWT
2. Чеботарев А. Java 2: второй шанс вавилонской башни. Издательский Дом "Комиздат" http://citforum.ru/programming/java/babylon/
3. Scarpino M., Holder S., Ng S., Mihalkovic L. SWT/JFace in Action Greenwich, CT, USA: Manning Publications Co., 2005. – 496 pp. ISBN 1-932394-27-3
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00434
© Рефератбанк, 2002 - 2024