Технология программирования
Лабораторная работа, 02 Сентября 2013, автор: пользователь скрыл имя
Краткое описание
Цель: обретение навыков объектно-ориентированного программирования.
Задачи:
• изучение предметной области;
• изучение принципов объектно-ориентированного программирования;
• проработка структуры программы;
• реализация программы.
Содержание
Цели и задачи 3
Теоретические сведения 4
Практическое задание 5
Вид программы 11
Литература 12
Вложенные файлы: 1 файл
Лабораторная работа 5. Технологии программирования.doc
— 413.00 Кб (Скачать файл)Федеральное агентство по образованию
Государственного
Высшего профессионального образования
«Омский государственный технический университет»
Лабораторная работа №5
На тему: «Технология программирования»
Оглавление
Цели и задачи
Цель: обретение навыков объектно-ориентированного программирования.
Задачи:
- изучение предметной области;
- изучение принципов объектно-ориентированного программирования;
- проработка структуры программы;
- реализация программы.
Материально – техническое оснащение:
Среда разработки: Java
Теоретические сведения
Объектно-ориентированное программирование представляет собой метод программирования, который весьма близко напоминает наше поведение. Оно является естественной эволюцией более ранних нововведений в разработке языков программирования. Объектно-ориентированное программирование является более структурным, чем все предыдущие разработки, касающиеся структурного программирования. Оно также является более модульным и более абстрактным, чем предыдущие попытки абстрагирования данных и переноса деталей программирования на внутренний уровень. Объектно-ориентированный язык программирования характеризуется тремя основными свойствами:
- Инкапсуляция. Комбинирование записей с процедурами и функциями, манипулирующими полями этих записей, формирует новый тип данных - объект.
- Наследование. Определение объекта и его дальнейшее использование для построения иерархии порожденных объектов с возможностью для каждого порожденного объекта, относящегося к иерархии, доступа к коду и данным всех порождающих объектов.
- Полиморфизм. Присваивание действию одного имени, которое затем совместно используется вниз и вверх по иерархии объектов, причем каждый объект иерархии выполняет это действие способом, именно ему подходящим.
Практическое задание
Обработка информации в табличной форме
Цель работы: обработка информации, представленной в табличной форме.
Практическая работа: посвящена разработке приложения для обработки экономической информации, представленной в табличной форме.
Для работы с таблицей
Рис. 1. Форма для работы с таблицей
Создаем данную форму:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.border.
import javax.swing.border.LineBorder;
import javax.swing.border.
public class tabl1 extends JFrame {
static JTextField t1=new JTextField(10);
static JTextField t2=new JTextField(10);
static JTextField t3=new JTextField(10);
static JTextField t4=new JTextField(10);
static JTextField g1=new JTextField(10);
static JTextField g2=new JTextField(10);
static JTextField g3=new JTextField(10);
static JTextField g4=new JTextField(10);
static JTextField k1=new JTextField(10);
static JTextField k2=new JTextField(10);
static JTextField k3=new JTextField(10);
static JTextField k4=new JTextField(10);
static JTextField k5=new JTextField(10);
static JTextField k6=new JTextField(10);
static JTextField k7=new JTextField(10);
static JTextField k8=new JTextField(10);
static JTextField k9=new JTextField(10);
static JTextField k10=new JTextField(10);
static JTextField k11=new JTextField(10);
static JTextField k12=new JTextField(10);
static JTextField k13=new JTextField(10);
static JTextField k14=new JTextField(10);
static JTextField k15=new JTextField(10);
static JTextField k16=new JTextField(10);
JButton b8 = new JButton("Выход");
public tabl1() {
super("Таблица 'У Ганса'");
setDefaultCloseOperation(
Font font = new Font("New Times Roman", Font.BOLD, 12);
final JTabbedPane tabbedPane = new JTabbedPane();
tabbedPane.setFont(font);
JLabel l1 = new JLabel(" № товара");
JLabel l2 = new JLabel(" Товар");
JLabel l3 = new JLabel(" 1 квартал");
JLabel l4 = new JLabel(" 2 квартал");
JLabel l5 = new JLabel(" 3 квартал");
final JLabel l6 = new JLabel(" 4 квартал");
l1.setBorder(new LineBorder(Color.BLACK));
l2.setBorder(new LineBorder(Color.BLACK));
l3.setBorder(new LineBorder(Color.BLACK));
l4.setBorder(new LineBorder(Color.BLACK));
l5.setBorder(new LineBorder(Color.BLACK));
l6.setBorder(new LineBorder(Color.BLACK));
final JPanel pn1 = new JPanel();
tabbedPane.addTab("Пекарня 'У Ганса'",new ImageIcon("1.jpg"),pn1);
JPanel tabl1=new JPanel();
tabl1.setLayout(new GridLayout(5,5));
tabl1.setBorder(new SoftBevelBorder(BevelBorder.
null, null, null, null));
tabl1.add(l1); tabl1.add(l2); tabl1.add(l3); tabl1.add(l4); tabl1.add(l5); tabl1.add(l6);
tabl1.add(g1); tabl1.add(t1);tabl1.add(k1);
tabl1.add(g2); tabl1.add(t2);tabl1.add(k2);
tabl1.add(g3); tabl1.add(t3);tabl1.add(k3);
tabl1.add(g4); tabl1.add(t4);tabl1.add(k4);
pn1.add(tabl1);
final JTextArea s=new JTextArea(4,15);
final JTextArea s1=new JTextArea(4,15);
final JTextArea s2=new JTextArea(4,15);
final JTextArea s3=new JTextArea(4,15);
final JPanel pn2 = new JPanel();
tabbedPane.addTab( "Анализ данных",new ImageIcon("2.png"),pn2);
JPanel tabl2=new JPanel();
tabl2.setBorder(new SoftBevelBorder(BevelBorder.
tabl2.setSize(100,50);
tabl2.setLayout(new GridLayout(2,2));
tabl2.add(s);
tabl2.add(s1);
tabl2.add(s2);
tabl2.add(s3);
pn2.add(tabl2);
s.setBorder(BorderFactory.
s1.setBorder(BorderFactory.
s2.setBorder(BorderFactory.
s3.setBorder(BorderFactory.
final Color col1=new Color(255,255,160);
final Color col2=new Color(255,200,255);
JPanel buttons = new JPanel();
JPanel content = new JPanel();
content.setLayout(new BorderLayout());
content.add(buttons, BorderLayout.SOUTH);
JButton b1 = new JButton("№ товара");
b1.setFont(font);
JButton b2 = new JButton("товар");
b1.setFont(font);
JButton b3 = new JButton("1 квартал");
b1.setFont(font);
JButton b4 = new JButton("2 квартал");
b4.setFont(font);
JButton b5 = new JButton("3 квартал");
b5.setFont(font);
JButton b6 = new JButton("4 квартал");
b6.setFont(font);
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tabbedPane.setSelectedIndex(
g1.setText("1");
g2.setText("2");
g3.setText("3");
g4.setText("4");
}
});
buttons.add(b1);
b2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tabbedPane.setSelectedIndex(
t1.setText("Булочки");
t2.setText("Коржики");
t3.setText("Торты");
t4.setText("Пирожные");
}
});
buttons.add(b2);
b3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tabbedPane.setSelectedIndex(
k1.setText(" 11 250");
k2.setText(" 10 900");
k3.setText(" 12 100");
k4.setText(" 7 020");
}
});
buttons.add(b3);
b4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tabbedPane.setSelectedIndex(
k5.setText(" 10 500");
k6.setText(" 11 400");
k7.setText(" 11 500");
k8.setText(" 8 300");
}
});
buttons.add(b4);
b5.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tabbedPane.setSelectedIndex(
k9.setText(" 11 456");
k10.setText(" 10 455");
k11.setText(" 8 789");
k12.setText(" 9 444");
}
});
buttons.add(b5);
b6.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tabbedPane.setSelectedIndex(
k13.setText(" 7 054");
k14.setText(" 12 250");
k15.setText(" 10 250");
k16.setText(" 8 652");
}
});
buttons.add(b6);
JButton b9 = new JButton("Анализ");
b9.setFont(font);
b9.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tabbedPane.setSelectedIndex(
s.setText("");
s1.setText("");
s2.setText("");
t2.setBackground(col1);
s.append("Sum1=41 270 "+"\nSum2=41 700 "+"\nSum3=40 144 "+"\nSum4=38 206 "+"\nSum(год)=161 320 ");
s1.append("Sum2(max)=41 700 "+"\nSum4(min)=38 206 ");
k5.setBackground(col2);
k6.setBackground(col2);
k7.setBackground(col2);
k8.setBackground(col2);