Добавил:
инст: frz.alinkenss Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР2_Графический интерфейс.docx
Скачиваний:
16
Добавлен:
16.11.2022
Размер:
184.9 Кб
Скачать

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение высшего образования

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

КАФЕДРА № 42

ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ

ПРЕПОДАВАТЕЛЬ

старший преподаватель

В.А. Ушаков

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №2

ПРОГРАММИРОВАНИЕ ГРАФИЧЕСКОГО ИНТЕРФЕЙСА НА JAVA

по курсу: КРОССПЛАТФОРМЕННОЕ ПРОГРАММИРОВАНИЕ

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ ГР. №

4021

Фарзалина Алина

фамилия, имя

Санкт-Петербург 2022

Цель работы

Изучение процедурной модели программирования, изучение основ работы с графическим интерфейсом JAVA.

Задание

  1. Расчет числа N и соответствующих вариантов

N = 4021 + 18 = 4039

Варианты функций с разложением в ряд Маклорена

N mod 8 + 1 = (4039 mod 8) + 1 = 7 + 1 = 8

Варианты используемых элементов ввода

  1. для ввода значений аргумента функции: (N mod 6) + 1 = (4039 mod 6) + 1 = 1 + 1 = 2

2. Переключатель JRadioButton и группа кнопок ButtonGroup.

  1. для ввода точности вычислений: (N+2 mod 4) + 1 = (4039+2 mod 4) + 1 = (4041 mod 4) + 1 = 1 + 1 = 2

2. Переключатель JRadioButton и группа кнопок ButtonGroup

2) Ход работы

Разработать программу на языке JAVA, использующую графический пользовательский интерфейс для ввода и вывода информации. Программа должна вычислять значение заданной функции путем разложения в ряд Маклорена с заданной точностью и с использованием стандартной функции класса Math. Аргумент функции и точность должны задаваться пользователем. При разработке необходимо использовать следующие общие элементы интерфейса:

1. Метку JLabel с формулой разложения заданной функции в ряд Маклорена.

2. Метки JLabel для обозначения элементов ввода данных.

3. Метки JLabel для вывода результатов вычислений (одну для значения, рассчитанного с разложением в ряд Маклорена и одну для эталонного значения, рассчитанного с помощью стандартной функции).

4. Кнопку JButton для инициализации вычислений.

5. Кнопку JButton для сброса входных данных на значения по умолчанию.

6. Кнопку JButton для выхода из программы.

7. Элементы ввода данных должны выбираться исходя из заданного варианта.

8. Также при разработке программы предусмотреть альтернативный метод ввода исходных данных (вместо ввода одного аргумента организовать ввод диапазона аргументов. Т.е. использовать три заданных типа элементов ввода для задания: нижней границы диапазона, верхней границы диапазона и шага изменения. Результаты вычислений выводить в таблицу JTable в три столбца: аргумент функции, значение, рассчитанное разложением в ряд Маклорена, эталонное значение).

При реализации графического интерфейса необходимо предусмотреть ошибки, которые может допустить пользователь при вводе данных: неверные значения аргумента, выход значения аргумента за допустимый диапазон.

Исходный код программы

/*

* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license

* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template

*/

package my.form;

import javax.swing.JOptionPane;

import javax.swing.table.DefaultTableModel;

/**

*

* @author frz.alinkenss

*/

public class LR2 extends javax.swing.JFrame {

/**

* Creates new form LR2

*/

public LR2() {

initComponents();

}

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

buttonGroup1 = new javax.swing.ButtonGroup();

buttonGroup2 = new javax.swing.ButtonGroup();

buttonGroup3 = new javax.swing.ButtonGroup();

buttonGroup4 = new javax.swing.ButtonGroup();

buttonGroup5 = new javax.swing.ButtonGroup();

jButton1 = new javax.swing.JButton();

jButton2 = new javax.swing.JButton();

jLabel1 = new javax.swing.JLabel();

jPanel1 = new javax.swing.JPanel();

jLabel2 = new javax.swing.JLabel();

step1 = new javax.swing.JRadioButton();

jLabel3 = new javax.swing.JLabel();

step2 = new javax.swing.JRadioButton();

jLabel4 = new javax.swing.JLabel();

step3 = new javax.swing.JRadioButton();

lowarg1 = new javax.swing.JRadioButton();

lowarg2 = new javax.swing.JRadioButton();

lowarg3 = new javax.swing.JRadioButton();

uparg1 = new javax.swing.JRadioButton();

uparg2 = new javax.swing.JRadioButton();

uparg3 = new javax.swing.JRadioButton();

jScrollPane1 = new javax.swing.JScrollPane();

jTable1 = new javax.swing.JTable();

jButton3 = new javax.swing.JButton();

jPanel2 = new javax.swing.JPanel();

jLabel5 = new javax.swing.JLabel();

arg1 = new javax.swing.JRadioButton();

arg2 = new javax.swing.JRadioButton();

arg3 = new javax.swing.JRadioButton();

jLabel6 = new javax.swing.JLabel();

tochnost1 = new javax.swing.JRadioButton();

tochnost2 = new javax.swing.JRadioButton();

tochnost3 = new javax.swing.JRadioButton();

DefaultResult = new javax.swing.JLabel();

MaclaurinResult = new javax.swing.JLabel();

jLabel7 = new javax.swing.JLabel();

jLabel8 = new javax.swing.JLabel();

jButton5 = new javax.swing.JButton();

jButton6 = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setTitle("Графический интерфейс для ввода и вывода данных");

jButton1.setText("Посчитать");

jButton1.setMaximumSize(new java.awt.Dimension(137, 23));

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

jButton2.setText("Сбросить");

jButton2.setMaximumSize(new java.awt.Dimension(137, 23));

jButton2.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton2ActionPerformed(evt);

}

});

jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/my/form/рисунок.png"))); // NOI18N

jLabel1.setText("jLabel2");

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Альтернативный метод ввода исходных данных"));

jLabel2.setText("Нижняя граница");

buttonGroup5.add(step1);

step1.setText("1");

jLabel3.setText("Верхняя граница");

buttonGroup5.add(step2);

step2.setText("2");

jLabel4.setText("Шаг изменения");

buttonGroup5.add(step3);

step3.setText("3");

step3.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

step3ActionPerformed(evt);

}

});

buttonGroup3.add(lowarg1);

lowarg1.setText("1");

lowarg1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

lowarg1ActionPerformed(evt);

}

});

buttonGroup3.add(lowarg2);

lowarg2.setText("2");

buttonGroup3.add(lowarg3);

lowarg3.setText("3");

buttonGroup4.add(uparg1);

uparg1.setText("4");

buttonGroup4.add(uparg2);

uparg2.setText("5");

buttonGroup4.add(uparg3);

uparg3.setText("10");

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

jPanel1.setLayout(jPanel1Layout);

jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)

.addComponent(jLabel4, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(jLabel3, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(26, 26, 26)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(lowarg1, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(lowarg2, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(lowarg3, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(uparg1, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(uparg2, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(uparg3, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(step1, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(step2, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(step3, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)))

.addContainerGap(62, Short.MAX_VALUE))

);

jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()

.addContainerGap(19, Short.MAX_VALUE)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(lowarg2)

.addComponent(lowarg3))

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(lowarg1)

.addComponent(jLabel2)))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel3)

.addComponent(uparg1)

.addComponent(uparg2)

.addComponent(uparg3))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel4)

.addComponent(step1)

.addComponent(step2)

.addComponent(step3))

.addContainerGap())

);

jTable1.setModel(new javax.swing.table.DefaultTableModel(

new Object [][] {

{null, null, null},

{null, null, null},

{null, null, null}

},

new String [] {

"Аргумент х", "Результат по Маклорену", "Эталонный результат"

}

));

jScrollPane1.setViewportView(jTable1);

jButton3.setText("Заполнить таблицу");

jButton3.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton3ActionPerformed(evt);

}

});

jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Ввод аргумента и точности"));

jLabel5.setText("Аргумент х");

buttonGroup1.add(arg1);

arg1.setSelected(true);

arg1.setText("1");

buttonGroup1.add(arg2);

arg2.setText("2");

buttonGroup1.add(arg3);

arg3.setText("3");

jLabel6.setText("Точность");

buttonGroup2.add(tochnost1);

tochnost1.setText("2");

tochnost1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

tochnost1ActionPerformed(evt);

}

});

buttonGroup2.add(tochnost2);

tochnost2.setText("3");

buttonGroup2.add(tochnost3);

tochnost3.setText("4");

DefaultResult.setText("0");

MaclaurinResult.setText("0");

jLabel7.setText("Эталонный результат:");

jLabel8.setText("Результат по Маклорену:");

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);

jPanel2.setLayout(jPanel2Layout);

jPanel2Layout.setHorizontalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup()

.addContainerGap()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(34, 34, 34)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup()

.addComponent(tochnost1, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(tochnost2, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(tochnost3, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(jPanel2Layout.createSequentialGroup()

.addComponent(arg1, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(arg2, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(arg3, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE))))

.addGroup(jPanel2Layout.createSequentialGroup()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 152, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

.addComponent(MaclaurinResult, javax.swing.GroupLayout.DEFAULT_SIZE, 145, Short.MAX_VALUE)

.addComponent(DefaultResult, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))

.addContainerGap(65, Short.MAX_VALUE))

);

jPanel2Layout.setVerticalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()

.addGap(0, 18, Short.MAX_VALUE)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel5)

.addComponent(arg1)

.addComponent(arg2)

.addComponent(arg3))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel6)

.addComponent(tochnost1)

.addComponent(tochnost2)

.addComponent(tochnost3))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(DefaultResult, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel7))

.addGap(12, 12, 12)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addComponent(jLabel8)

.addComponent(MaclaurinResult, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE)))

);

jButton5.setText("Сбросить");

jButton5.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton5ActionPerformed(evt);

}

});

jButton6.setText("Очистить Таблицу");

jButton6.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton6ActionPerformed(evt);

}

});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGap(126, 126, 126)

.addComponent(jButton3)

.addGap(47, 47, 47)

.addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 137, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(jButton6, javax.swing.GroupLayout.PREFERRED_SIZE, 147, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(132, 132, 132))

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addGap(305, 305, 305)

.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 378, javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGap(0, 130, Short.MAX_VALUE)

.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 137, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(47, 47, 47)

.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 137, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(89, 89, 89))

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 477, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(22, 22, 22))

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGap(35, 35, 35)

.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(35, 35, 35)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 51, Short.MAX_VALUE)

.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(layout.createSequentialGroup()

.addGap(9, 9, 9)

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)))

.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jButton6, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(61, 61, 61))

);

pack();

}// </editor-fold>

private void tochnost1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

if(tochnost1.isSelected() == false & tochnost2.isSelected() == false & tochnost3.isSelected() == false)

{

JOptionPane.showMessageDialog(null, "Не выбрана точность вычисления");

}

else

{

double Tochnost;

if(tochnost1.isSelected()==true)

{

Tochnost = 2;

}

else if (tochnost2.isSelected()==true)

{

Tochnost = 3;

}

else

{

Tochnost = 4;

}

if(arg1.isSelected() == false & arg2.isSelected() == false & arg3.isSelected() == false)

{

JOptionPane.showMessageDialog(null, "Не выбран аргумент вычисления");

}

else

{

int argument;

if(arg1.isSelected()==true)

{

argument = 1;

}

else if (arg2.isSelected()==true)

{

argument = 2;

}

else

{

argument = 3;

}

float resultMaclaurin = 0;

int factorial = 1;

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

{

for (int i = 1; i <=2*n; i ++){

factorial = factorial*i;}

resultMaclaurin += Math.pow(-1, n) * (Math.pow(argument, 2*n)/ factorial);

}

double resultReference = Math.cos(argument);

DefaultResult.setText(String.valueOf(resultReference));

MaclaurinResult.setText(String.valueOf(resultMaclaurin));

}

}

// TODO add your handling code here:

}

private void lowarg1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {

if(lowarg1.isSelected() == false & lowarg2.isSelected() == false & lowarg3.isSelected() == false)

{

JOptionPane.showMessageDialog(null, "Не выбрана нижняя граница");

}

else

{

int LowArg;

if(lowarg1.isSelected()==true)

{

LowArg = 1;

}

else if (lowarg2.isSelected()==true)

{

LowArg = 2;

}

else

{

LowArg = 3;

}

if(uparg1.isSelected() == false & uparg2.isSelected() == false & uparg3.isSelected() == false)

{

JOptionPane.showMessageDialog(null, "Не выбрана верхняя граница");

}

else

{

int UpArg;

if(uparg1.isSelected()==true)

{

UpArg = 4;

}

else if (uparg2.isSelected()==true)

{

UpArg = 5;

}

else

{

UpArg = 10;

}

if(step1.isSelected() == false & step2.isSelected() == false & step3.isSelected() == false)

{

JOptionPane.showMessageDialog(null, "Не выбран шаг изменения");

}

else

{

int Step;

if(step1.isSelected()==true)

{

Step = 1;

}

else if (step2.isSelected()==true)

{

Step = 2;

}

else

{

Step = 3;

}

if(tochnost1.isSelected() == false & tochnost2.isSelected() == false & tochnost3.isSelected() == false)

{

JOptionPane.showMessageDialog(null, "Не выбрана точность вычисления");

}

else

{

double Tochnost;

if(tochnost1.isSelected()==true)

{

Tochnost = 2;

}

else if (tochnost2.isSelected()==true)

{

Tochnost = 3;

}

else

{

Tochnost = 4;

}

DefaultTableModel model = (DefaultTableModel)jTable1.getModel();

model.setRowCount(0);

float AlterResultMaclaurin = 0;

double AlterResultReference;

do {

int factorial = 1;

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

{

for (int i = 1; i <=2*n; i ++){

factorial = factorial*i;}

AlterResultMaclaurin += Math.pow(-1, n) * (Math.pow(LowArg, 2*n)/ factorial);

}

AlterResultReference = Math.cos(LowArg);

model.addRow(new Object[]{LowArg, AlterResultMaclaurin, AlterResultReference});

LowArg = LowArg + Step;

} while(LowArg < UpArg);

}

}

}

}

}

private void step3ActionPerformed(java.awt.event.ActionEvent evt) {

}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

DefaultResult.setText("0");

MaclaurinResult.setText("0");

buttonGroup1.clearSelection();

buttonGroup2.clearSelection();

}

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {

buttonGroup3.clearSelection();

buttonGroup4.clearSelection();

buttonGroup5.clearSelection();

}

private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {

DefaultTableModel model = (DefaultTableModel)jTable1.getModel();

model.setRowCount(0);

}

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(LR2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(LR2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(LR2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(LR2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

}

//</editor-fold>

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new LR2().setVisible(true);

}

});

}

// Variables declaration - do not modify

private javax.swing.JLabel DefaultResult;

private javax.swing.JLabel MaclaurinResult;

private javax.swing.JRadioButton arg1;

private javax.swing.JRadioButton arg2;

private javax.swing.JRadioButton arg3;

private javax.swing.ButtonGroup buttonGroup1;

private javax.swing.ButtonGroup buttonGroup2;

private javax.swing.ButtonGroup buttonGroup3;

private javax.swing.ButtonGroup buttonGroup4;

private javax.swing.ButtonGroup buttonGroup5;

private javax.swing.JButton jButton1;

private javax.swing.JButton jButton2;

private javax.swing.JButton jButton3;

private javax.swing.JButton jButton5;

private javax.swing.JButton jButton6;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

private javax.swing.JLabel jLabel6;

private javax.swing.JLabel jLabel7;

private javax.swing.JLabel jLabel8;

private javax.swing.JPanel jPanel1;

private javax.swing.JPanel jPanel2;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JTable jTable1;

private javax.swing.JRadioButton lowarg1;

private javax.swing.JRadioButton lowarg2;

private javax.swing.JRadioButton lowarg3;

private javax.swing.JRadioButton step1;

private javax.swing.JRadioButton step2;

private javax.swing.JRadioButton step3;

private javax.swing.JRadioButton tochnost1;

private javax.swing.JRadioButton tochnost2;

private javax.swing.JRadioButton tochnost3;

private javax.swing.JRadioButton uparg1;

private javax.swing.JRadioButton uparg2;

private javax.swing.JRadioButton uparg3;

// End of variables declaration

}