代码之家  ›  专栏  ›  技术社区  ›  SDS

Vaadin 8通过编程更改全局字体

  •  2
  • SDS  · 技术社区  · 6 年前

    我有一个用户首选项窗口,它允许用户选择fontsize,在应用窗口时(通过单击按钮),根用户界面中的所有组件和子对象都将获得新的fontsize。

    下面是类似问题的链接,部分有效。 https://vaadin.com/forum/thread/10962145

    解决方案一:使用 要配置的文件如下

    @import "mytheme.scss";
    @import "addons.scss";
    @import "mythememedium.scss";
    @import "mythemelarge.scss";
    
    .mytheme {
      @include addons;
      @include mytheme;
    }
    
    .mytheme-small{
       $v-font-size: 13px;
      @include mytheme;
    }
    
    .mytheme-medium{
       $v-font-size: 16px;
      @include mythememedium;
    }
    
    .mytheme-large{
       $v-font-size: 17px;
      @include addons;
      @include mythemelarge;
    }
    

    apply.addClickListener(new Button.ClickListener() {
    @Override
    public void buttonClick(Button.ClickEvent event) {
           String fontSize = (String) fontSizeCmb.getValue();
           String styleName = UI.getCurrent().getStyleName();
           if (fontSize.equals("MEDIUM")) {
                UI.getCurrent().addStyleName("abstheme-medium");
                UI.getCurrent().removeStyleName(styleName);
            } else if (fontSize.equals("LARGE")) {
                UI.getCurrent().addStyleName("abstheme-large");
                UI.getCurrent().removeStyleName(styleName);
            } else {
                UI.getCurrent().addStyleName("abstheme-small");
                UI.getCurrent().removeStyleName(styleName);
            }
         }
    });
    

    .v-tree8 {
      .v-tree8-scroller, .v-tree8-scroller-horizontal { }
      .v-tree8-tablewrapper {
        .v-tree8-body {
          .v-tree8-row,
          .v-tree8-stripe,
          .v-tree8-row-focused,
          .v-tree8-row-has-data {
            .v-tree8-expander, expanded {}
            .v-tree8-cell-content {font-size: 17px;  color: black !important;}
          }
        }
      }
    }
    }
    
    .mygrid .v-grid-body .v-grid-cell {  
        font-size: 17px;       // adjust to your needs
    }
    

    关于如何处理这个问题有什么建议吗??

    蒂亚。

    0 回复  |  直到 6 年前