Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Московский государственный университет



Московский государственный университет

путей сообщения РФ (МИИТ)

Кафедра «Вычислительные системы и сети»

Институт, группа ИУИТ

Студент

Преподаватель Никольская Марина Николаевна

Отчет

По дисциплине «Технология программирования»

 

Отчет принят

 

Задание№1:

Вычислить сумму ряда

 


 

import javax.swing.*;

public class lab1

{

public static void main(String[] args)

{

System.out.println("Начало программы"); //функция печати

double y, cs;

double x, a, z, zz;

int flag, ka,fac, ifac, i, kol, iz;

kol=Integer.parseInt(JOptionPane.showInputDialog("Введите количество членов ряда")); //вызов диалогового окна для ввода

x=Double.parseDouble(JOptionPane.showInputDialog("Введите значение для x"));

a=Double.parseDouble(JOptionPane.showInputDialog("Введите значение для a"));

z=Double.parseDouble(JOptionPane.showInputDialog("Введите значение для z"));

 

fac=1;

ka=5;

flag=1;

ifac=2;

y=0;

for(i=0;i<kol;i++)

{

if(flag==1)

{

cs=Math.cos(x+ka*a); //вызов фунции вычисления для косинуса

}

else

{

cs=Math.sin(x-ka*a); //вызов фунции вычисления для синуса

}

flag=-flag;

ka+=10;

zz=1;

//for(iz=0;iz<2+3*i;iz++)

//{

zz=Math.pow(z, 2+3*i);

//}

for(;ifac<=3+i*2;ifac++)

{

fac*=ifac;

}

y+=(zz+fac)/cs;

}

System.out.println("y="+y);

System.out.println("Конец программы");

}

}

Задание №2

Дана база данных локомотивов: марка, год выпуска, год ремонта. Вывести на печать локомотивы, которые не ремонтировались заданное количество лет.

 


 

import javax.swing.*;

class bd

{

private String name;

private int gv, gr, flag=0;

public bd()

{

this.name=JOptionPane.showInputDialog("Введите марку локомотива"); //вызов диалогового окна для ввода

this.gv=Integer.parseInt(JOptionPane.showInputDialog("Введите год выпуска локомотива")); //вызов диалогового окна для ввода и преобразование полученной величины к типу с плавающей точкой

this.gr=Integer.parseInt(JOptionPane.showInputDialog("Введите год ремонта локомотива")); //вызов диалогового окна для ввода и преобразование полученной величины к типу с плавающей точкой

}

public int oprGr(int n) //функция для определения условия: не ремонтировался ли данный вагон n лет

{

if(n==this.gr)

{

flag = 1;

System.out.println("Локомотив марки "+this.name+","+this.gv+" года выпуска, не ремонтировался заданное количество лет");

}

return flag;

}

}

 

public class lab2

{

public static void main(String[] args)

{

int kol, i, n, flag=0;

kol=Integer.parseInt(JOptionPane.showInputDialog("Введите количество локомотивов")); //вызов диалогового окна для ввода и преобразование полученной величины к цклочисленному типу

System.out.println(""+kol);

bd[] lok = new bd[kol];

for(i=0;i<kol;i++)

{

System.out.println("Введите данные для "+(i+1)+" локомотива");

lok[i] = new bd();



//lok[i].vvod();

}

n=Integer.parseInt(JOptionPane.showInputDialog("Сколько лет не ремонтировались интересуещие вас локомотивы?")); //вызов диалогового окна для ввода и преобразование полученной величины к цклочисленному типу

n=2009-n;

for(i=0;i<kol;i++)

{

flag=lok[i].oprGr(n);

}

if(flag==0)

{

System.out.println("Таких локомотивов нет!");

}

System.exit(0);

}

 

}

 

Задание №3

Дана база данных локомотивов: марка, год выпуска, год ремонта. Вывести на печать локомотивы, которые не ремонтировались заданное количество лет. Реализовать программу с использованием собственных классов.

 


 

import java.io.IOException;

public class lab3

{

public static void main(String[] args)

{

try

{

int kol, n, i, flag=0;

StringBuffer str = new StringBuffer();

char ch;

System.out.println("Введите количество локомотивов");

while ((ch = (char) System.in.read())!= '\n') //функция чтения символа из стандартного потока

str.append(ch); //функция добавления символа в буфер

kol=Integer.parseInt(str.toString()); //функция преобазования к целочисленному типу

int[] gr= new int[kol];

int[] gv= new int[kol];

String[] marka = new String[kol];

for(i=0;i<kol;i++)

{

System.out.println("Введите данные для "+(i+1)+" локомотива\nМарка:");

str = new StringBuffer();

while ((ch = (char) System.in.read())!= '\n')

str.append(ch);

marka[i] = str.toString();

str = new StringBuffer();

System.out.println("Год выпуска:");

while ((ch = (char) System.in.read())!= '\n')

str.append(ch);

gv[i]=Integer.parseInt(str.toString());

str = new StringBuffer();

System.out.println("Год последнего ремонта:");

while ((ch = (char) System.in.read())!= '\n')

str.append(ch);

gr[i]=Integer.parseInt(str.toString());

}

System.out.println(("Сколько лет не ремонтировались интересуещие вас локомотивы?"));

str = new StringBuffer();

while ((ch = (char) System.in.read())!= '\n')

str.append(ch);

n=2009 - Integer.parseInt(str.toString());

for(i=0;i<kol;i++)

{

if(n==gr[i])

{

flag = 1;

System.out.println("Локомотив марки " + marka[i] + "," +gv[i] +" года выпуска, не ремонтировался заданное количество лет");

}

}

if(flag==0)

System.out.println("Таких локомотивов нет!");

 

}

catch (IOException ex)

{

System.out.println(ex.toString());

}

 

}

}


 

Задание №4

Исследовать класс String

 


 

import java.lang.String;

public class lab4

{

public static void main(String[] args)

{

String str1, str2, temp[];

int i;

str1="FunkcYi cLAssA String ";

str2="budut PokAZaNy seyCHaS";

System.out.println("Исходные строки:\nstr1 = "+str1+"\nstr2 = "+str2);

System.out.println("\nФункции:\n");

System.out.println("\nString.charAt()\nШестой символ в строке str1 есть " +str1.charAt(5));

// System.out.println("\nString.charCodeAt()\nКод девятого символа в строке str2 = "+str2.charCodeAt(8));

System.out.println("\nString.concat()\nСложим строки str1 и str2:\n"+str1.concat(str2));

// System.out.println("\nString.fromCharCode()\nСтрока, первый символ которой имеет код 78, а второй 115 это:\n"+String.fromCharCode(78, 115));

System.out.println("\nString.indexOf()\nPervyi symdol \'A\' v stroke str2 imeet index "+str2.indexOf('A'));

System.out.println("\nString.lastIndexOf()\nPoslednyi simvol\'i\' v stroke str1 imeet index " + str1.lastIndexOf('i'));

// System.out.println("\nString.slice()\nVidelim iz stroki str2 stroky \"sey\" " + str2.slice("sey"));

System.out.println("\nString.split()\nRazob'yem stroky str1 na slova");

temp=str1.split(" ");

for(i=0;i<temp.length;i++)

System.out.print(""+temp[i]+"\n");

System.out.println("\nString.substring()\nVernem symvily stroki str2 nachinaya c simvola s 4'ym indexom\n"+str2.substring(4));

System.out.println("\nString.substring()\nNapechataem simvoly stroki str1 s indexami ot 4 do 13\n"+str1.substring(4,13));

System.out.println("\nString.toLowerCase()\nPerevedem stroky str1 v nizhnyi register\n"+str1.toLowerCase());

System.out.println("\nString.toUpperCase()\nPerevedem stroky str2 v verhnyi register\n"+str2.toUpperCase());

}

}


 

Задание №5

Дана база данных локомотивов: марка, год выпуска, год ремонта. Вывести на печать локомотивы, которые не ремонтировались заданное количество лет. Реализовать программу с использованием собственных классов. Создать две исключительные ситуации:

1) Марка должна соответствовать марке, хранящейся в памяти, иначе повторить ввод.

2) Если нет локомотивов, которые не ремонтировались заданное количество лет, то повторить ввод.

 


 

import java.io.IOException;

class osibochka extends Throwable //определение собственного класса ошибки

{

osibochka()

{

System.out.println("Такой марки нет. Повторите ввод");

}

}

class osibochka1 extends Throwable //определение собственного класса ошибки

{

osibochka1()

{

System.out.println("Таких локомотивов нет! Повторите ввод");

}

}

class bd

{

private String name;

private int gv, gr, flag=0;

private static String[] marki={"m1","m2","m3","m4","m5","m6"};

static void beat() //вывод допустимых марок

{

for(int i=0;i<marki.length;i++)

System.out.println(marki[i]);

}

public bd() throws osibochka //определение класса ошибки "osibochka" как обрабатывающегося во внешней функции, т.е. функции из которой вызывается данная

{

try

{

int i, met;

StringBuffer str = new StringBuffer();

char ch;

System.out.println("Введите марку локомотива");

while ((ch = (char) System.in.read())!= '\n') //функция чтения символа из стандартного потока

str.append(ch); //функция добавления символа в буфер

this.name = str.toString(); //возвращает содержимое буфкра в виде строки и записывает его в объект name

met=0;

for(i=0;i<marki.length;i++)

{

if(this.name.equals(marki[i])) //сравнение содержимого двух объектов

{

met = 1;

break;

}

}

if(met==0)

throw new osibochka(); //искуственное возбуждение ошибки

System.out.println("Введите год выпуска локомотива");

str = new StringBuffer();

while ((ch = (char) System.in.read())!= '\n')

str.append(ch);

this.gv = Integer.parseInt(str.toString());

System.out.println("Введите год ремонта локомотива");

str = new StringBuffer();

while ((ch = (char) System.in.read())!= '\n')

str.append(ch);

this.gr = Integer.parseInt(str.toString());

}

catch (IOException ex) //обпаботка ошибки класса "IOException"

{

System.exit(0);

}

}

public int oprGr(int n) //функция для определения условия: не ремонтировался ли данный вагон n лет

{

if(n==this.gr)

{

flag = 1;

System.out.println("Локомотив марки "+this.name+","+this.gv+" года выпуска, не ремонтировался заданное количество лет");

}

return flag;

}

}

public class lab5

{

public static void main(String[] args)

{

try

{

int kol, i, n, flag;

StringBuffer str = new StringBuffer();

char ch;

System.out.println("Введите количество локомотивов");

while ((ch = (char) System.in.read())!= '\n')

str.append(ch);

kol = Integer.parseInt(str.toString());

bd[] lok = new bd[kol];

for (i = 0; i < kol; i++)

{

try

{

System.out.println("Введите данные для " + (i + 1) +" локомотива");

lok[i] = new bd();

}

catch(osibochka n1)

{

i--;

}

}

int j=0;

for(;j!=1;)

{

j=1;

try

{

flag = 0;

str = new StringBuffer();

System.out.println("Сколько лет не ремонтировались интересуещие вас локомотивы?");

while ((ch = (char) System.in.read())!= '\n')

str.append(ch);

n = Integer.parseInt(str.toString());

n = 2009 - n;

for (i = 0; i < kol; i++) {

flag = lok[i].oprGr(n);

}

if (flag == 0)throw new osibochka1();

}

catch (osibochka1 e)

{

j=0;

}

}

}

catch (IOException ex)

{

System.exit(0);

}

}

}


 

Задание №6

Исследовать класс BitSet

 

 


 

import java.util.BitSet;

public class lab6

{

public static void main(String[] args)

{

BitSet mas = new BitSet();

BitSet mas2 = new BitSet();

BitSet mas3 = new BitSet();

mas.set(3); //установка бита с индексом 3(как истина)

System.out.println(mas.get(3));

mas.clear(3); //сброс бита с индексом 3(как ложь)

System.out.println(mas.get(3));

mas.set(2);

mas.set(5);

mas.set(6);

mas2.set(4);

mas2.set(5);

mas2.clear(6);

mas3.set(2);

mas3.set(1);

mas3.clear(6);

System.out.println("mas = "+mas);

System.out.println("mas2 = "+mas2);

System.out.println("mas3 = "+mas3);

mas.and(mas2); //поразрядное выполнение логического "и" над двумя наборами и запись результата в mas

System.out.println("mas = "+mas);

mas.or(mas3); //поразрядное выполнение логического "или" над двумя наборами и запись результата в mas

System.out.println("mas = "+mas);

mas.xor(mas2); //поразрядное выполнение логического "исключающего или" над двумя наборами и запись результата в mas

System.out.println("mas = "+mas);

int n = mas3.size(); //определение позиции старшего бита, равного истине

System.out.println("Старший бит в mas имеет позицию, равную = "+n);

mas3.set(4);

mas3.clear(5);

System.out.println("Сравним массивы mas и mas3 "+mas.equals(mas3));

System.out.println("Сравним массивы mas и mas2 "+mas.equals(mas2));

n = mas.hashCode(); //вычисдение хеш-кода

System.out.println("Хэшкод для mas = "+n);

n = mas2.hashCode();

System.out.println("Хэшкод для mas2 = "+n);

n = mas3.hashCode();

System.out.println("Хэшкод для mas3 = "+n);

}

}

Задание №7

Исследовать класс Vector

 

 


 

import java.util.Vector;

import java.lang.StringBuffer;

import java.io.IOException;

 

class Proba implements Cloneable //подключение интерфейса Cloneable

{

static int i=1;

int nomer;

String name;

Proba()

{

name = "Без имени";

nomer=i;

i++;

}

Proba(String name)

{

this.name=name;

nomer=i;

i++;

}

private void pnom() //функция получения порядкового номера

{

nomer=i;

i++;

}

 

public Object clone(boolean flag) //функция клонирования

{

try

{

Proba temp =(Proba) super.clone(); //вызов родительской защищенной функции клонирования

if(flag)

temp.pnom();

return temp;

}

catch (CloneNotSupportedException ex)

{

System.out.println("Во время клонирования произошла ошибка");

return null;

}

}

public String toString() //переопределение метода toString()

{

return "номер = "+nomer+", имя = "+name;

}

}

public class lab7

{

public static void main(String[] args)

{

try

{

Object buf;

char ch;

StringBuffer b1 = new StringBuffer();

Vector v = new Vector(10,10); //создание вектора с емкостью 10 и емкостью на которую он будет увеличиваться в случае переполнения равной 10

if(v.isEmpty()) //определение, пустой ли вектор

System.out.println("\nЭтап 1) Вектор v пока пустой");

else

System.out.println("\nЭтап 1)Вектор v не пустой");

v.add(b1); //добавление в него объекта b1

if(v.isEmpty()) //определение, пустой ли вектор

System.out.println("\nЭтап 2)Вектор v пока пустой");

else

System.out.println("\nЭтап 2)Вектор v не пустой");

System.out.println("\nВведите строку buf");

while((ch=(char)System.in.read())!='\n')

b1.append(ch);

System.out.println("\n\nПолучим состояние вектора v");

for(int i=0;i<v.size();i++)

{

System.out.println("Элемент вектора v с индексом "+i+",имеющий класс "+(v.get(i)).getClass()+", содержит следующие данные\n"+v.get(i));

}

buf=(StringBuffer)v.get(0); //получение объекта из вектора

buf=(String)buf.toString();

System.out.println("\nСтрока buf = "+buf);

Proba proba[] = new Proba[5];

proba[0] = new Proba();

proba[1] = new Proba("Рабочий класс1");

proba[2] = proba[1];

v.clear(); //очистка вектора

if(v.isEmpty())

System.out.println("\nЭтап 3)Вектор v пока пустой");

else

System.out.println("\nЭтап 3)Вектор v не пустой");

v.add(buf); //добавление в вектор объекта

v.add(proba[1]); //добавление в вектор объекта

v.add(1, proba[0]); //добавление в вектор объекта на позицию с индексом 1, при этом следующие объекты сдвигаются

if(v.isEmpty())

System.out.println("\nЭтап 4)Вектор v пока пустой");

else

System.out.println("\nЭтап 4)Вектор v не пустой");

System.out.println("\n\nПолучим состояние вектора v");

for(int i=0;i<v.size();i++)

{

System.out.println("Элемент вектора v с индексом "+i+",имеющий класс "+(v.get(i)).getClass()+", содержит следующие данные\n"+v.get(i));

}

proba[3] = (Proba) proba[1].clone(false); //клонирование объекта

proba[4] = (Proba) proba[1].clone(true);

v.add(proba[1]);

System.out.println("\n\nОбъект proba[3] имеет следующее состояние\n"+proba[3]);

System.out.println("Объект proba[4] имеет следующее состояние\n"+proba[4]);

System.out.println("\n\nПроведем проверку наличия объектов класса Proba в нашем векторе\n");

for(int i=0;i<proba.length;i++)

{

if(v.contains(proba[i])) //проверка, есть ли объект proba[i] в векторе

{

System.out.println("Объект proba["+i+"] есть в векторе v, и имеет первый и последний индексы равные "+v.indexOf(proba[i])+" и "+v.lastIndexOf(proba[i]));

}

else

System.out.println("Объекта proba["+i+"] нет в векторе v");

}

System.out.println("\n\nПолучим состояние вектора v");

for(int i=0;i<v.size();i++)

{

System.out.println("Элемент вектора v с индексом "+i+",имеющий класс "+(v.get(i)).getClass()+", содержит следующие данные\n"+v.get(i));

}

 

System.out.println("\n\nУдалим первый элемент вектора v и получим состояние этого вектора");

v.remove(0); //удаление объекта с индексом 0 из вектора, при этом оставшиеся объекты сдвигаются

for(int i=0;i<v.size();i++)

{

System.out.println("Элемент вектора v с индексом "+i+",имеющий класс "+(v.get(i)).getClass()+", содержит следующие данные\n"+v.get(i));

}

 

 

}

catch(IOException e)

{

System.out.println("Во время ввода произошла ошибка. Программа завершается");

System.exit(0);

}

}

}


 

Задание №8

Создать файл класса RandomAccessFile, записать в него некоторое количества записей и организовать чтение заданной записи без перебора всего файла.

 


 

import java.io.*;

class nFile

{

private File fn;

private RandomAccessFile f;

private StringBuffer buf;

private String name;

private char ch;

nFile()

{

System.out.println("Введите имя файла");

try

{

buf = new StringBuffer();

while ((ch = (char) System.in.read())!= '\n')

buf.append(ch);

name=buf.toString();

fn = new File(name); //создание объекта fn, класса RandomAccessFile

}

catch(IOException e)

{

System.out.println("Во время ввода произошла ошибка");

}

}

public void zapis() //функция записи в файл

{

try

{

int n, size;

f = new RandomAccessFile(fn, "rw"); //открытие файла f для записи и чтения

System.out.println("Введите количество записей");

buf = new StringBuffer();

while ((ch = (char) System.in.read())!= '\n')

buf.append(ch);

n=Integer.parseInt(buf.toString());

for(int i=0;i<n;i++)

{

System.out.println("Введите запись номер "+(i+1));

buf = new StringBuffer();

while ((ch = (char) System.in.read())!= '\n')

buf.append(ch);

size=buf.length();

f.writeInt(size); //запись числа size в файл

f.writeChars(buf.toString()); //запсиь строки в файл

}

}

catch (FileNotFoundException ex)

{

System.out.println("Во время создания файла произошла ошибка");

}

catch(IOException e)

{

System.out.println("Во время ввода произошла ошибка");

}

finally

{

try

{

f.close(); //закрытие файла

}

catch (IOException ex1)

{

System.out.println("nВо время закрытия файла произошла ошибка");

}

}

}

public void chtenie() //функция чтения

{

try

{

int size;

long rz;

f = new RandomAccessFile(fn, "r"); //открытие файла f для чтения

System.out.println("Содержимое файла:\n");

rz=f.length(); //определние размера файла

for(int p =1;f.getFilePointer()<rz;p++) //цикл продолжается, пока позиция указателя в файле не станет равна его размеру

{

size=f.readInt(); // чтение целочисленной величины из файла

System.out.println("\nЗапись номер "+p);

for(int i=0;i<size;i++)

{

System.out.print(f.readChar()); //чтение символа из файла и его вывод на печать

}

}

}

catch (FileNotFoundException ex)

{

System.out.println("\nВо время открытия файла произошла ошибка");

}

catch(IOException e)

{

System.out.println("\nВо время чтения произошла ошибка");

}

finally

{

try

{

f.close(); //закрытие файла

}

catch (IOException ex1)

{

System.out.println("nВо время закрытия файла произошла ошибка");

}

}

}

public void chtenie(int nomer) //функция чтения записи с номером nomer

{

try

{

int size;

boolean flag=false;

long rz;

f = new RandomAccessFile(fn, "r"); //открытие файла f для чтения

rz=f.length(); //определние размера файла

for(int p =1;f.getFilePointer()<rz;p++) //цикл продолжается, пока позиция указателя в файле не станет равна его размеру

{

size=f.readInt(); // чтение целочисленной величины из файла

if(p!=nomer)

{

f.skipBytes(size*2); //сдвиг указателя в файле на величину size*2

continue;

}

flag=true;

System.out.println("\nЗапись номер "+p);

for(int i=0;i<size;i++)

{

System.out.print(f.readChar()); //чтение символа из файла и его вывод на печать

}

break;

}

if(!flag)

System.out.println("\n\nЗаписи с таким номером нет!");

}

catch (FileNotFoundException ex)

{

System.out.println("\nВо время открытия файла произошла ошибка");

}

catch(IOException e)

{

System.out.println("\nВо время чтения произошла ошибка");

}

finally

{

try

{

f.close();

}

catch (IOException ex1)

{

System.out.println("nВо время закрытия файла произошла ошибка");

}

}

 

}

}

public class lab8

{

public static void main(String[] args)

{

nFile f = new nFile();

f.zapis();

f.chtenie();

StringBuffer buf = new StringBuffer();

char ch;

int nomer;

System.out.println("\n\nЗадайте номер записи, которую хотите прочитать");

try

{

while ((ch = (char) System.in.read())!= '\n')

buf.append(ch);

}

catch(IOException e)

{

System.out.println("Во время ввода произошла ошибка");

}

nomer = Integer.parseInt(buf.toString());

f.chtenie(nomer);

 

}

}


 

Задание №9

Создать окно с текстовым полем и реализовать в нем следующее функции:

1. Открытие файла

2. Сохранение файла

3. Кодировка текста

4. Раскодировка текста


 

import java.awt.*;

import java.awt.Graphics;

import java.awt.event.*;

import javax.swing.*;

import java.io.File;

import javax.swing.event.*;

import java.io.RandomAccessFile;

import java.io.*;

public class lab9

{

public static void main(String[] args)

{

Okno okno = new Okno();

okno.setDefaultCloseOperation(okno.EXIT_ON_CLOSE); //определение крестика, как кнопки закрытия окна

okno.show(); //открытие окна

}

}

class Okno extends JFrame //создание класса Okno

{

String str=new String();

private File file=null;

private RandomAccessFile f;

private mJTextArea textpanel;

private Container pane;

class mMenuBar extends JMenuBar //создание класса mMenuBar

{

public mMenuBar()

{

JMenu filemenu = new JMenu("Файл"); // определние пункта меню

add(filemenu); // добавление пункта меню в панель меню

JMenuItem iopen = filemenu.add(openeaction); //определение подпункта меню и действия в случае его активации

filemenu.addSeparator(); //добавление разделителя

JMenuItem isave = filemenu.add(saveaction); //определение подпункта меню и действия в случае его активации

JMenuItem isaveass = filemenu.add(saveassaction); //определение подпункта меню и действия в случае его активации

filemenu.addSeparator(); //добавление разделителя

JMenuItem iexit = filemenu.add(exitaction); //определение подпункта меню и действия в случае его активации

JMenu codmenu = new JMenu("Обработка"); // определние пункта меню

add(codmenu); // добавление пункта меню в панель меню

JMenuItem icreatcod = codmenu.add(createcodaction); //определение подпункта меню и действия в случае его активации

JMenuItem ireadcod = codmenu.add(readcodaction); //определение подпункта меню и действия в случае его активации

}

}

public Okno()

{

setTitle("Лаболаторная работа 9"); //определение заголовка окна

setSize(400,400); //определение размеров окна при вызове

setJMenuBar(new mMenuBar()); //получение меню

pane = getContentPane(); //получение контейнера

textpanel = new mJTextArea(str); //создание текстового поля

textpanel.setLineWrap(true); //определение возможности переноса символов текстового поля

pane.add(textpanel); //добавление текстового поля в контейнер

}

private AbstractAction exitaction = new AbstractAction("Выйти из программы") //определение действия в случае его активации

{

public void actionPerformed(ActionEvent e)

{

try

{

f.close(); //закрытие файла

}

catch (IOException ex1)

{

System.out.println("nВо время закрытия файла произошла ошибка");

}

 

System.exit(0);

}

};

private AbstractAction openeaction = new AbstractAction("Открыть файл") //определение действия в случае его активации

{

public void actionPerformed(ActionEvent e)

{

file = new File(JOptionPane.showInputDialog("Введите полное имя файла"));

try

{

f = new RandomAccessFile(file, "r"); //открытие файла

str = f.readLine(); //чтение содержимого файла

textpanel.setText(str); //установка содержимого текстового поля

f.close(); //закрытие файла

}

catch (FileNotFoundException ex)

{

System.out.println("Во время создания файла произошла ошибка");

}

catch (IOException ex)

{

System.out.println("\nВо время чтения произошла ошибка");

}

 

 

}

};

private AbstractAction saveaction = new AbstractAction("Сохранить файл") //определение действия в случае его активации

{

public void actionPerformed(ActionEvent e)

{

if(file==null) file = new File(JOptionPane.showInputDialog("Введите полное имя файла"));

try

{

f = new RandomAccessFile(file, "rw"); //открытие файла

str = textpanel.getText(); //получение содержимого тектового поля

f.writeBytes(str); //запись строки в файл

f.close(); //закрытие файла

 

}

catch (FileNotFoundException ex)

{

System.out.println("Во время создания файла произошла ошибка");

}

catch (IOException ex)

{

System.out.println("\nВо время чтения произошла ошибка");

}

 

}

};

private AbstractAction saveassaction = new AbstractAction("Сохранить файл как") //определение действия в случае его активации

{

public void actionPerformed(ActionEvent e)

{

file = new File(JOptionPane.showInputDialog("Введите полное имя файла"));

try

{

f = new RandomAccessFile(file, "rw"); //открытие файла

str = textpanel.getText(); //получение содержимого тектового поля

f.writeBytes(str); //запись строки в файл

f.close(); //закрытие файла

 

}

catch (FileNotFoundException ex)

{

System.out.println("Во время создания файла произошла ошибка");

}

catch (IOException ex)

{

System.out.println("\nВо время чтения произошла ошибка");

}

}

};

private AbstractAction createcodaction = new AbstractAction("Закодировать текст") //определение действия в случае его активации

{

public void actionPerformed(ActionEvent e)

{

str = textpanel.getText(); //получение содержимого тектового поля

StringBuffer buf = new StringBuffer(str);

for(int i=0;i<str.length();i++)

{

buf.insert(i*2,'e');

}

str = buf.toString();

textpanel.setText(str); //установка содержимого текстового поля

}

};

private AbstractAction readcodaction = new AbstractAction("Раскодировать текст") //определение действия в случае его активации

{

public void actionPerformed(ActionEvent e)

{

str = textpanel.getText(); //получение содержимого тектового поля

StringBuffer buf = new StringBuffer(str);

for(int i=0;i<str.length()/2;i++)

{

buf.deleteCharAt(i);

}

str = buf.toString();

textpanel.setText(str); //установка содержимого текстового поля

}

};

}

 

class mJTextArea extends JTextArea //создание класса текстового поля

{

String buf;

public mJTextArea(String str)

{

super(str);

buf = new String(str);

str = buf;

getDocument().addDocumentListener(new mListener()); //подключение слушателя mListener()

}

private class mListener implements DocumentListener //создание класса слушателя, поддерживающего интерфейс DocumentListener

{

public void insertUpdate(DocumentEvent e) //определение действия в случае вставки символа

{

buf = getText().trim(); //получения текста из тектового поля

}

public void removeUpdate(DocumentEvent e) //определение действия в случае удаления символа

{

buf = getText().trim(); //получения текста из тектового поля

}

public void changedUpdate(DocumentEvent e)

{

}

}

}


Дата добавления: 2015-11-04; просмотров: 26 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Тестовое задание для поступления в Java School. | EPAM Systems(www.epam.com), one of the largest Software Engineering Services Companies in European IT market, CMMI Level 4 certified, is looking for Java Developer for its Kyiv Office.

mybiblioteka.su - 2015-2024 год. (0.177 сек.)