Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Правильный код на java

Автор: Arsenj
Дата сообщения: 27.08.2016 12:30
[more] [more] Здравствуйте, некого спросить, поэтому здесь и сразу к сути.
Краткое описание: процедурка создаёт парами текстовое поле и кнопку. На кнопке событие по удалению этого текстового поля.
И меня смущает процедура в процедуре и не забивает ли такое память?


Код:
void proc(String key){

TextField textField1=new TextField();
Button button=new Button();

vBox.getChildren().add(textField1);
vBox.getChildren().add(button);


EventHandler<ActionEvent> EventRemove=new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
vBox.getChildren().remove(textField1);
}
};

if(key!=null){
button.setOnAction(EventRemove);
button.setText("X");
}else{
button.setText("ок");
button.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
if(!textField1.getText().isEmpty()){
button.setOnAction(EventRemove);
button.setText("X");
}
}
});
}}
Автор: vndovr
Дата сообщения: 01.09.2016 00:42
Это не процедура в процедуре.
По сути Вы объявляете inner class у которого нет имени и который реализует интерфейс EventHanlder. И внутри создаете переменную которой присваиваете созданный объект данного класса


Это нормально для Java
Автор: soy Demetrio
Дата сообщения: 05.09.2016 12:08
Память забивает, если таких кнопок будет много. Но Java провоцирует не обращать внимание на такие мелочи На самом деле, есть техники кодирования, которые позволяют экономно выделять память, но это - отдельная большая тема.

Страницы: 1

Предыдущая тема: Почему при открытии браузера Google Chrome открывается брауз


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.