О ФАКУЛЬТЕТЕ КАФЕДРА ДЕКАНАТ НОВОСТИ

5.2. Каркасная модель на языке Java

Рассмотрим структуру программы в виде апплета для построения проекции каркасной модели средствами Java графики:

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.geom.*;
import java.util.*;
public class g1511XXs1_a1 extends Applet {
public void init() {
///init()
JButton button1=new JButton("JButton построить");
button1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
//
int x0,y0,i; x0=110;y0=110;
// 1. Ввод значений исходных данных
int n=14;
int[] xn= { 40, 0,20,40, 0,20,25,22,22,25,18,18,15,15};
int[] yn={ 10,10,40,10,10,40,22,22,25,28,28,22,22,28};
int[] zn={ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
int[] xk={ 0,20,40,20,20,20,22,22,25,22,18,15,15,18};
int[] yk={ 10,40,10,20,20,20,22,25,28,28,22,22,28,28};
int[] zk={ 0, 0, 0,40,40,40, 0, 0, 0, 0, 0, 0, 0, 0};
// 2. получение указателя на поверхность рисования
Graphics canvas= getGraphics();
// вычерчивание рамки формата А4
:
// Оси координат и их обозначение
:
canvas.setColor(c3);
// Основные циклы вычислений проекции XOY -горизонтальной проекции
for(i=0;i<n;i++){ canvas.drawLine(x0-xn[i],y0+yn[i],x0-xk[i],y0+yk[i] );};
// Основные циклы вычислений проекции XOZ - фронтальной проекции
for(i=0;i<n;i++){ canvas.drawLine(x0-xn[i],y0-zn[i],x0-xk[i],y0-zk[i] );};
// Основные циклы вычислений проекции ZOY - профильной проекции
for(i=0;i<n;i++){ canvas.drawLine(x0+yn[i],y0-zn[i],x0+yk[i],y0-zk[i] );};
}
} );
this.add(button1);
//////////////////////////
} ///init()
}

Следует обратить особое внимание на обработку события нажатия кнопки JButton апплета. Простым вариантом реализации является, например такая конструкция языка:
button1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event) {
// Графическая часть программы
}
}


Результат работы апплета представлен на рисунке:




<<ПРЕДЫДУЩАЯ <<СОДЕРЖАНИЕ>> СЛЕДУЮЩАЯ>>




О факультете Кафедра Деканат Новости

Контактная информация:
Санкт-Петербург, ул. Саблинская, 14, м. Горьковская
email: fitp@mail.ifmo.ru, тел: 232 4985

Используются технологии uCoz