`
snoopy7713
  • 浏览: 1141045 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

Vaadin 学习记录

 
阅读更多

窗口类:

Window

 

Java代码 复制代码
  1. Window

 

 

它主要用来显示。

每一个Application可以设置一个主窗口比如:

Window mainWindow = new Window(messageSource.getMessage( "main.window" , null ,Locale.CHINESE)); //message为国际化,如果直接输入中文则会乱码。
  1. setMainWindow(mainWindow);

 

Java代码 复制代码
  1. Window mainWindow = new Window(messageSource.getMessage( "main.window" , null ,Locale.CHINESE)); //message为国际化,如果直接输入中文则会乱码。
  2. setMainWindow(mainWindow);

 


还可以向主窗口添加多个子窗口如:

Window window= new Window(messageSource.getMessage( "child.window.helloworld" , null , Locale.CHINESE));
  1. mainWindow.addWindow(window);

 

Java代码 复制代码
  1. Window window= new Window(messageSource.getMessage( "child.window.helloworld" , null , Locale.CHINESE));
  2. mainWindow.addWindow(window);

 


可以设置这个窗口的icon

mainWindow.setIcon(icon) //这里需要一个Resource对象来加载图片,Resource的子类中有一个FileResource他的构造需要两个参数,一个是File,一个Application这里如果本身就是在Application 内直接填入this即可如:

 

Java代码 复制代码
  1. mainWindow.setIcon(icon) //这里需要一个Resource对象来加载图片,Resource的子类中有一个FileResource他的构造需要两个参数,一个是File,一个Application这里如果本身就是在Application 内直接填入this即可如:

 

mainWindow.setIcon( new FileResource( new File( "" ), this ));

 

Java代码 复制代码
  1. mainWindow.setIcon( new FileResource( new File( "" ), this ));

 

是当前窗口显示后,背后的窗口变为不可使用。

window.setModal(true);

 

Html代码 复制代码
  1. window.setModal(true);

 

设置是否可以拖拉窗口大小

window.setResizable( false );

spring +vaadin spring ioc依赖注入

package com.xq.vaadin;
import javax.annotation.Resource;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ResourceBundleMessageSource;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import com.vaadin.Application;
import com.vaadin.terminal.gwt.server.AbstractApplicationServlet;
import com.vaadin.ui.Window;
@SuppressWarnings("serial")
public class SimpleAddressBook extends AbstractApplicationServlet {
private Class<? extends Application> clazz;
@Override
public void init(ServletConfig config) throws ServletException{
super.init(config);
WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(
config.getServletContext());
ResourceBundleMessageSource messageSource=(ResourceBundleMessageSource)wac.getBean(ResourceBundleMessageSource.class);
System.out.println(messageSource);
com.xq.controller.HelloWorld application = (com.xq.controller.HelloWorld) wac.getBean(com.xq.controller.HelloWorld.class);

clazz = application.getClass();
}
@Override
protected com.xq.controller.HelloWorld getNewApplication(HttpServletRequest request)
throws ServletException {
// TODO Auto-generated method stub
WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext());
return (com.xq.controller.HelloWorld) wac.getBean(com.xq.controller.HelloWorld.class);
}
@Override
protected Class<? extends Application> getApplicationClass()
throws ClassNotFoundException {
// TODO Auto-generated method stub
return clazz;
}

}

WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext());return (com.xq.controller.HelloWorld) wac.getBean(com.xq.controller.HelloWorld.class);

这个是通过类去找bean.

在web。xml中

<servlet>
<servlet-name>HelloWorde</servlet-name>
<servlet-class>com.xq.vaadin.SimpleAddressBook</servlet-class>
<init-param>
<param-name>application</param-name>
<param-value>com.xq.vaadin.HelloWorld</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorde</servlet-name>
<url-pattern>/VAADIN2/*</url-pattern>
</servlet-mapping>

 

 

spring 中国际化,还有vaadin的页面配置:

<bean id="messageSource2" name="messageSource2" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="message-info"></property>
<property name="useCodeAsDefaultMessage" value="true"></property>
</bean>
<bean id="test" name="test" class="com.xq.controller.HelloWorld"></bean>

 

package com.xq.util;
import javax.servlet.ServletContext;

import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;

import com.vaadin.Application;
import com.vaadin.terminal.gwt.server.WebApplicationContext;
public class SpringContext {

private ApplicationContext context;

public void SpringContextHelper(Application application) {
ServletContext servletContext = ((WebApplicationContext) application.getContext()).getHttpSession().getServletContext();
context = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);
}

public Object getBean(final String beanRef) {
return context.getBean(beanRef);
}
public Object getBean(final Class class1){
return context.getBean(class1);
}
}

 

 

package com.xq.util;
import javax.servlet.ServletContext;

import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;

import com.vaadin.Application;
import com.vaadin.terminal.gwt.server.WebApplicationContext;
public class SpringContext {

private ApplicationContext context;

public void SpringContextHelper(Application application) {
ServletContext servletContext = ((WebApplicationContext) application.getContext()).getHttpSession().getServletContext();
context = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);
}

public Object getBean(final String beanRef) {
return context.getBean(beanRef);
}
public Object getBean(final Class class1){
return context.getBean(class1);
}
}

分享到:
评论

相关推荐

    Vaadin6.4.9中文开发手册

    通过以上内容的学习,开发者不仅可以顺利安装和配置Vaadin开发环境,还能通过Eclipse插件高效地进行应用开发。同时,熟悉内容浏览器的使用可以帮助开发者更好地理解和掌握Vaadin的各种特性和组件。

    国外朋友的vaadin和struts2结合的例子

    5. **插件与扩展**:Struts2的插件系统可以与Vaadin结合,比如用于日志记录、性能监控等,增强应用的可扩展性。 在这个"VaadinStruts2.war"文件中,可能包含了一个完整的示例应用,演示了如何配置和使用这两个框架...

    vaadin-touchkit-cval-3.0.0

    5. `vaadin-touchkit-cval-3.0.0-sources.jar`:源代码包,提供源代码查看,方便开发者学习和调试。 6. `vaadin-touchkit-manual.pdf`:用户手册,提供了详尽的使用指导和示例,帮助开发者快速上手。 7. `license-...

    vaadin-touchkit-agpl-3.0.0

    1. **Java支持**:Vaadin TouchKit基于Java,提供了一种面向对象的编程模型,使得Java开发者能够用他们熟悉的语言进行移动应用开发,无需学习新的平台或语言。 2. **HTML5兼容性**:TouchKit充分利用了HTML5的特性...

    file7780205318225801788_a-vaadin-helper-1.6.2.zip

    3. `a-vaadin-helper-1.6.2-sources.jar`:这个文件包含了源代码,对于开发者来说非常有用,因为可以查看库的内部实现,进行学习或调试。如果遇到问题,可以直接查看源码找出解决方案,或者根据源码理解其工作原理,...

    vaadin-irc:Vaadin IRC 是一个使用 Vaadin 框架制作的 Web IRC 客户端(+ bot)

    通过对 Vaadin IRC 项目的深入研究,开发者不仅可以掌握 Vaadin 框架的应用,还能学习到如何构建实时通信应用以及如何设计和实现 IRC 客户端和机器人。此外,对于想要学习开源软件开发和许可证应用的人来说,这也是...

    Crud-Vaadin-SpringBoot

    通过学习和实践Crud-Vaadin-SpringBoot项目,你可以掌握Java Web开发中的核心技术和最佳实践,包括前后端分离、数据持久化、用户界面设计以及安全控制。这将有助于你构建更复杂的企业级应用程序。

    vaadin-bug-demos:伴随错误报告的演示应用程序

    通过研究"vaadin-bug-demos"中的案例,开发者不仅可以学习如何解决特定问题,还能提升对Vaadin框架的理解,从而在未来开发过程中避免类似错误。此外,参与修复这些bug的开发者还可以为Vaadin社区做出贡献,提升其在...

    visjs-vaadin-demo:visjs-call 库的演示代码

    【visjs-vaadin-demo: visjs-call...通过深入研究这个示例项目,开发者不仅可以学习如何在Vaadin应用中使用Vis.js,还能了解如何将复杂的JavaScript库集成到Java Web开发中,以及如何优化Web应用的交互性和可视化效果。

    在线学习系统

    5. 进度跟踪:记录用户的课程学习进度,便于个性化推荐和复习提醒。这涉及数据持久化,可以利用关系型数据库或NoSQL数据库如MongoDB。 6. 安全性:确保用户数据的安全,如使用HTTPS加密传输、密码哈希存储、防止SQL...

    Vaadin-SportsTracker:用于跟踪体育成就和里程碑的应用程序

    通过阅读和理解这些源代码,开发者不仅可以学习如何使用Vaadin框架构建Web应用,还能深入理解Java后端开发和数据库管理,对提高全栈开发技能大有裨益。同时,这个项目也可以作为教学案例,帮助初学者实践和巩固Java ...

    Java学习相关资料

    这份“Java学习相关资料”包含了可能涵盖多个Java学习主题的资源,可能是书籍、教程、代码示例或者笔记,旨在帮助你深入理解Java的核心概念和技术。 在Java的学习中,首先会接触到基础语法,包括类、对象、接口、...

    chemistry-opencmis-test-tools-0.7.0.zip

    3. **日志记录和报告工具**:记录测试结果,生成测试报告,帮助开发者分析和调试问题。 4. **模拟服务器**:可能包含一个模拟的CMIS服务器,用于在没有真实服务器的情况下进行测试。 5. **API文档**:详细说明如何...

    [记录]有关JavaEE的一些个人练习

    - **JSF(JavaServer Faces)** 或 **Vaadin**:使用这些富客户端框架创建交互式用户界面。 - **RESTful Web Services**:使用JAX-RS(Java API for RESTful Web Services)创建RESTful API,实现前后端分离。 - **...

    VaadinBookInventoryExampleApp

    《VaadinBookInventoryExampleApp:构建Java图书库存管理应用》 在本文中,我们将深入探讨...这个示例不仅为初学者提供了学习Vaadin的好材料,也为经验丰富的开发者提供了一种快速构建业务应用的途径。

    dvdrental-training-center:简单的自学项目

    标题 "dvdrental-training-center" 提供了一个学习项目的名称,该项目专注于 IT 领域中的自学习。这个项目可能是为了帮助用户熟悉一系列技术栈,包括但不限于 Java、GraphQL、Spring、Spring Boot、PostgreSQL 和 ...

    vaadinbreadcrumb:我正在寻找面包屑导航器

    它提供了一整套UI组件,使得开发者可以快速地构建交互式的用户界面,而无需深入学习前端技术。Vaadin框架以MVC(Model-View-Controller)架构为基础,支持事件驱动和响应式设计,确保了应用的高性能和用户体验。 在...

    毕业设计:基于VaadinFlow+SpringBoot的宿舍管理系统.zip

    6. **异常处理与日志记录**:设置全局异常处理器,统一处理系统运行时可能出现的错误,并利用Log4j或Spring Boot的日志组件记录系统日志,便于问题排查。 7. **单元测试与集成测试**:使用JUnit、Mockito等工具进行...

Global site tag (gtag.js) - Google Analytics