Скачиваний:
67
Добавлен:
09.05.2014
Размер:
3.22 Кб
Скачать
package Lab3Package;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIInput;
import javax.faces.context.FacesContext;
import java.util.ArrayList;


public class LocationCheckerController
{
private LocationChecker _locChecker;
private UIInput _coordXInput,_coordYInput,_radiusInput;

//Результаты предыдущих проверок
private ArrayList<ResultInfo> _results;

//Имя файла с картинкой
private String _imgFileName = "/area.png";

//-------Конструктор
public LocationCheckerController(){
_results = new ArrayList();
}

//-------Свойства

public LocationChecker getLocationChecker(){
return _locChecker;
}

public void setLocationChecker(LocationChecker locChecker){
_locChecker = locChecker;
}

public UIInput getCoordXInput(){
return _coordXInput;
}

public void setCoordXInput(UIInput coordXInput){
_coordXInput = coordXInput;
}

public UIInput getCoordYInput(){
return _coordYInput;
}

public void setCoordYInput(UIInput coordYInput){
_coordYInput = coordYInput;
}

public UIInput getRadiusInput(){
return _radiusInput;
}

public void setRadiusInput(UIInput radiusInput){
_radiusInput = radiusInput;
}

public ArrayList<ResultInfo> getResults(){
return _results;
}

public void setResults(ArrayList<ResultInfo> results){
_results = results;
}

public String getImgFileName(){
return _imgFileName;
}

public void setResult(String fileName){
_imgFileName = fileName;
}

/**
* Метод "всё в одном":
* проверка попадания,рисование картинки и добавление строки в таблицу
*/
public String Check()
{
FacesContext facesContext = FacesContext.getCurrentInstance();

if(_locChecker.getRadius()==0){
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Радиус не выбран!",
"Вычисление координат невозможно.");
facesContext.addMessage(null, message);
return null;
}

try{
_locChecker.isInArea();
_imgFileName = "/Img/img_" + _results.size() + ".png";
_locChecker.drawImage(_imgFileName);


boolean boolResult = _locChecker.getResult();
String strResult;

if(boolResult)
strResult = "Точка попадает в область";
else
strResult = "Точка не попадает в область";

_results.add(new ResultInfo(_locChecker.getCoordX(),
_locChecker.getCoordY(),_locChecker.getRadius(),strResult));
}
catch (Exception ex){
facesContext.addMessage(null, new FacesMessage(
FacesMessage.SEVERITY_ERROR, ex.getMessage(), null));
}

return "results";
}
}
Соседние файлы в папке Lab3Package