热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

SpecifyabackgroundimageviaCSSinVaadin14programmaticallywithJava

如何解决《SpecifyabackgroundimageviaCSSinVaadin14programmaticallywithJava》经验,为你挑选了1个好方法。

In Vaadin 14, we can set some CSS values programmatically in our Java code.

We can call getElement, then getStyle, and set the name of the CSS property along with a value.

For example, here we set the background color to green.

public class MainView extends VerticalLayout
{
    public MainView ( )
    {
        this.getElement().getStyle().set( "background-color" , "Green" );

How do we do this for a CSS property like background-image that takes an argument of the CSS function named url?

Hard-coding the CSS path does not work.

public class MainView extends VerticalLayout
{
    public MainView ( )
    {
        this.getElement().getStyle().set( "background-image" , "cat.jpg" );

? In Vaadin Flow, how to do we use Java to get CSS to find an image such as "cat.jpg"?

Furthermore, what should be the relative or absolute path to that image file be? I understand that the usual place for static images in Vaadin web app is in the src/main/resources folder.



1> anasmi..:

如果是“普通Java Servlet”(非Spring,非CDI)Vaadin项目,则该文件应位于/src/main/webapp

如果是春季: /src/main/resources/META-INF/resources/img

摘自此处的官方文档:资源备忘单

并且,正如@symlink在注释中注意到的那样,您应该使用url('filename')语法在css中引用图像:CSS background-image属性

举例来说,如果我有一个文件名为cat.jpg/src/main/webapp/images,那么这台就getElement().getStyle().set("background-image","url('images/cat.jpg')");


下面是另一个例子,与图片文件cat.jpgsrc/main/webapp没有在嵌套images文件夹中。这是一个Vaadin 14.0.10 Web应用程序,使用“ 使用Vaadin启动新项目”页面Plain Java Servlet上的技术堆栈选项。

以下是使用此图像作为背景的整个视图的源代码。

注意构造函数的第一行,我们将其"url('cat.jpg')"作为参数传递。了解我们如何在文件名周围使用单引号将其嵌入Java字符串而不进行转义。幸运的是,CSS规范允许使用单引号(')或双引号(“)-对于Vaadin程序员而言,将CSS嵌入Java代码中非常方便。

package work.basil.example;

import com.vaadin.flow.component.button.Button;
import com.vaadin.flow.component.notification.Notification;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.router.Route;
import com.vaadin.flow.server.PWA;

/**
 * The main view contains a button and a click listener.
 */
@Route ( "" )
@PWA ( name = "Project Base for Vaadin", shortName = "Project Base" )
public class MainView extends VerticalLayout
{
    public MainView ( )
    {
        this.getElement().getStyle().set( "background-image" , "url('cat.jpg')" );

        Button button = new Button( "Click me" , event -> Notification.show( "Clicked!" ) );
        add( button );
    }
}

以及此网络应用程序的屏幕截图。由于图像的高度短,图像被裁剪VerticalLayout。布局很短,因为它只包含一个按钮,其标签Click me的左侧边缘上的蓝色文本隐约可见。裁剪后的猫咪的脸在页面上重复,这是CSS的默认设置。


推荐阅读
  • Java中的基本数据类型与包装类解析
    本文探讨了Java编程语言中的8种基本数据类型及其对应的包装类。通过分析这些数据类型的特性和使用场景,以及自动拆装箱机制的实现原理,帮助开发者更好地理解和应用这些概念。 ... [详细]
  • 程序员如何优雅应对35岁职业转型?这里有深度解析
    本文探讨了程序员在职业生涯中如何通过不断学习和技能提升,优雅地应对35岁左右的职业转型挑战。我们将深入分析当前热门技术趋势,并提供实用的学习路径。 ... [详细]
  • 精致小屏灰色风格苹果CMS v10模板,支持DIY主题管理系统
    探索一款专为影视站设计的苹果CMS v10模板,具备强大的主题管理系统和500多个设置项,无需二次开发即可轻松配置。下载地址:https://www.mytheme.cn/maccms/244.html,演示地址:http://demo.mytheme.cn/index.php?id=244。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • 本月初,我们为大家推荐了一系列精选书单,助力大家提升技术水平。月底,我们将介绍几位行业大牛,帮助大家找到人生导师。InfoQ一直致力于为用户提供有价值的资源和支持。 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • HTML基础入门指南
    本文将深入浅出地介绍HTML的基础知识,包括其定义、开发工具、制定机构、特性、基本标签及更多实用内容。 ... [详细]
  • Linux环境下进程间通信:深入解析信号机制
    本文详细探讨了Linux系统中信号的生命周期,从信号生成到处理函数执行完毕的全过程,并介绍了信号编程中的注意事项和常见应用实例。通过分析信号在进程中的注册、注销及处理过程,帮助读者理解如何高效利用信号进行进程间通信。 ... [详细]
  • 2004年春节,作者与父亲讨论了未来的职业规划,并决定尝试创业开设家教培训班。然而,创业过程中的种种困难和挑战最终导致了项目的失败。 ... [详细]
  • 设计模式在软件开发中被广泛应用,但如果不当使用,可能会导致系统复杂性增加。例如,过度添加类可能导致类图难以理解,代码跟踪变得复杂。本文探讨如何在使用设计模式时保持系统的简洁和高效。 ... [详细]
  • Go语言实现经典排序算法:归并排序
    本文介绍如何使用Go语言实现经典的归并排序算法,探讨其原理、代码实现及性能特点。适合Golang开发者和编程爱好者。 ... [详细]
  • 深入理解Java多线程并发处理:基础与实践
    本文探讨了Java中的多线程并发处理机制,从基本概念到实际应用,帮助读者全面理解并掌握多线程编程技巧。通过实例解析和理论阐述,确保初学者也能轻松入门。 ... [详细]
  • SpringMVC RestTemplate的几种请求调用(转)
    SpringMVCRestTemplate的几种请求调用(转),Go语言社区,Golang程序员人脉社 ... [详细]
  • 程序员版情书:王思聪的编程式告白
    当程序员用代码表达爱意,会产生怎样的化学反应?一起来看看这封充满技术感的情书,网友笑称这才是真爱! ... [详细]
  • docker镜像重启_docker怎么启动镜像dock ... [详细]
author-avatar
水皱皱_446
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有