You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Vaadin 8:如何使用内置FontAwesome或自有图标集并展示大图标?

刚好之前做过Vaadin 8的项目,给你详细说说怎么用这两类图标,还有怎么搞大尺寸的图标展示:

在Vaadin 8中使用FontAwesome与Vaadin自有图标集

一、使用FontAwesome图标

Vaadin 8的部分早期版本(比如8.0到8.x的部分迭代版)确实内置了FontAwesome,这类情况直接用内置API就能搞定:

  • 先导入对应类:import com.vaadin.shared.ui.fontawesome.FontAwesome;
  • 创建图标组件:Icon faIcon = FontAwesome.COG.create();
  • 把图标加到布局里:layout.addComponent(faIcon);

如果你的Vaadin 8版本没有内置FontAwesome,也能手动集成:

  • 用Maven的话,在pom.xml里加WebJars依赖:
<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>font-awesome</artifactId>
    <version>4.7.0</version> <!-- 选一个和Vaadin 8兼容的版本就行 -->
</dependency>
  • 接着在你的UI类上注册FontAwesome的样式:
@StyleSheet("webjars/font-awesome/4.7.0/css/font-awesome.min.css")
public class MyAppUI extends UI {
    // 你的UI逻辑代码
}
  • 之后可以用Label来展示图标,通过设置CSS类名实现:
Label faIcon = new Label();
faIcon.setStyleName("fa fa-cog"); // 这里的类名对应FontAwesome的图标标识
layout.addComponent(faIcon);

二、使用Vaadin自有图标集(Vaadin Icons)

Vaadin 8自带了官方的Vaadin Icons图标集,完全不需要额外引入依赖,用起来更省心:

  • 导入类:import com.vaadin.shared.ui.vaadinicons.VaadinIcons;
  • 创建图标组件:Icon vaadinIcon = VaadinIcons.HOME.create();
  • 加到布局中:layout.addComponent(vaadinIcon);

三、展示大尺寸图标

不管用哪种图标集,要做大图展示都很简单,主要有两种方式:

  1. 直接设置图标尺寸
    Vaadin的Icon组件支持直接指定大小:
Icon bigStar = VaadinIcons.STAR.create();
bigStar.setSize("80px"); // 直接设置宽高为80px
layout.addComponent(bigStar);
  1. 自定义CSS类控制样式
    可以自己写CSS类来定义更大的尺寸,还能顺便改颜色:
.big-icon {
    font-size: 100px;
    color: #2196F3;
}

然后给图标组件加上这个样式:

Icon styledRocket = FontAwesome.ROCKET.create();
styledRocket.addStyleName("big-icon");
layout.addComponent(styledRocket);

如果是用Label展示的FontAwesome图标,同样可以叠加这个CSS类:

Label bigFaRocket = new Label();
bigFaRocket.setStyleName("fa fa-rocket big-icon");

内容的提问来源于stack exchange,提问作者Basil Bourque

火山引擎 最新活动