Ответы пользователя по тегу JavaFX
  • Как сделать рефакторинг кода в котором меняются только цифры?

    @Dugayoyo
    Не уверен, но всё же.
    Вместо:
    if (screenWidth <= 1700) {
      media.setTranslateY(50);
      media.setScaleX(1.1);
      media.setScaleY(1.1);
    }
    if (screenWidth <= 1600 && screenHeight <= 900) {
        media.setScaleX(1.0);
        media.setScaleY(1.0);
        media.setTranslateY(-3);
    }

    Я бы сделал так:
    reDraw(screenWidth <= 1700, media, 1.1, 1.1, 50.0);
    reDraw(screenWidth <= 1600 && screenHeight <= 900, media, 1.0, 1.0, -3.0);
            // и метод под всё это(его можно поперегружать и сделать ещё более удобным)
        private static void reDraw(Boolean condition, ImageView view, Double scaleX, Double scaleY, Double translateY) {
            if (condition) {
                if (scaleX != null)
                    view.setScaleX(scaleX);
                if (scaleY != null)
                    view.setScaleY(scaleY);
                if (translateY != null)
                    view.setTranslateY(translateY);
            }
        }


    Если эти условия будут использоваться для чего-нибудь ещё, можно сделать ещё красивее:
    boolean isLargeSize = screenWidth <= 1700;
    boolean isMediumSize = screenWidth <= 1600 && screenHeight <= 900;
    
    reDraw(isLargeSize, media, 1.1, 1.1, 50.0);
    reDraw(isMediumSize, media, 1.0, 1.0, -3.0);
    Ответ написан
    3 комментария