можете подсказать или скинуть ссылку на реальный код применения Адаптера(наглядный пример)? не так что у зарядника телефона есть адаптер или у флешки есть адаптер.бла бла бла ... а где в реальной программе была бы использована этот патерн. (и пример агрегата тоже скиньте пожлста.) Ну к примеру чтобы лучше понят. я с помошю Фактори паттерн написал код где можно перейти к нужной странице(перелистывать )
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import java.io.InputStream;
public class Task extends Application{
public static String s ="";
public MyFactory mf;
public MyInterface obj;
public static void main(String[] args)
{
launch();
}
Stage windows;
@Override
public void start(Stage e) {
windows = e;
VBox vBox = new VBox();
TextField textField = new TextField(" choose test number (from 1 to 10)");
Button button = new Button("ok");
button.setTranslateX(80);
Label label = new Label("Main PAGE input 1,2,3, or ... 10 ");
Scene scene = new Scene(vBox, 300, 300);
vBox.getChildren().addAll(label, textField, button);
button.setOnAction(event -> {
mf = new MyFactory(); // фактори
obj = mf.getInstance(textField.getText()); // фактори
this.obj.start(windows); // фактори
});
windows.setTitle(" W I N D O W S ");
windows.setScene(scene);
windows.show();
}
}
//класс фактори
class MyFactory{
public MyInterface getInstance(String str){ // создаем метод который будет создавать объекты классов реализующие один интерфейс
if(str.equals("1")) // первое условие совпадет
return new MyOne(); // создать экземпляр класса 1
// создать экземпляр класса 2 ....
//.....
else return new MyOne(); // иначе создать экземпляр класса ...
}
}
// лист №1
class MyOne extends Application implements MyInterface {
Stage windows;
@Override
public void start(Stage e){
windows=e;
VBox vBox = new VBox();
Scene scene = new Scene(vBox, 300, 300);
Button home = new Button("home");
home.setOnAction(event -> {
new Task().start(windows);
});
vBox.getChildren().addAll(new Label("Page 1"), home);
windows.setTitle(" W I N D O W S ");
windows.setScene(scene);
windows.show();
}
// interface
}
interface MyInterface{
void start(Stage e);}