窗口类:
它主要用来显示。
每一个Application可以设置一个主窗口比如:
Window mainWindow =
new
Window(messageSource.getMessage(
"main.window"
,
null
,Locale.CHINESE));
-
setMainWindow(mainWindow);
-
Window mainWindow =
new
Window(messageSource.getMessage(
"main.window"
,
null
,Locale.CHINESE));
-
setMainWindow(mainWindow);
还可以向主窗口添加多个子窗口如:
Window window=
new
Window(messageSource.getMessage(
"child.window.helloworld"
,
null
, Locale.CHINESE));
-
mainWindow.addWindow(window);
-
Window window=
new
Window(messageSource.getMessage(
"child.window.helloworld"
,
null
, Locale.CHINESE));
-
mainWindow.addWindow(window);
可以设置这个窗口的icon
mainWindow.setIcon(
new
FileResource(
new
File(
""
),
this
));
-
mainWindow.setIcon(
new
FileResource(
new
File(
""
),
this
));
是当前窗口显示后,背后的窗口变为不可使用。
设置是否可以拖拉窗口大小
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);
}
}
分享到:
相关推荐
### Vaadin 6.4.9 中文开发手册知识点概览 #### 一、Vaadin 简介 ...通过本章节的学习,读者不仅能够了解如何安装和配置 Vaadin 开发环境,还能深入理解 Vaadin 的工作原理及其提供的各种资源和支持。
通过以上内容的学习,开发者不仅可以顺利安装和配置Vaadin开发环境,还能通过Eclipse插件高效地进行应用开发。同时,熟悉内容浏览器的使用可以帮助开发者更好地理解和掌握Vaadin的各种特性和组件。
5. **插件与扩展**:Struts2的插件系统可以与Vaadin结合,比如用于日志记录、性能监控等,增强应用的可扩展性。 在这个"VaadinStruts2.war"文件中,可能包含了一个完整的示例应用,演示了如何配置和使用这两个框架...
5. `vaadin-touchkit-cval-3.0.0-sources.jar`:源代码包,提供源代码查看,方便开发者学习和调试。 6. `vaadin-touchkit-manual.pdf`:用户手册,提供了详尽的使用指导和示例,帮助开发者快速上手。 7. `license-...
1. **Java支持**:Vaadin TouchKit基于Java,提供了一种面向对象的编程模型,使得Java开发者能够用他们熟悉的语言进行移动应用开发,无需学习新的平台或语言。 2. **HTML5兼容性**:TouchKit充分利用了HTML5的特性...
3. `a-vaadin-helper-1.6.2-sources.jar`:这个文件包含了源代码,对于开发者来说非常有用,因为可以查看库的内部实现,进行学习或调试。如果遇到问题,可以直接查看源码找出解决方案,或者根据源码理解其工作原理,...
通过对 Vaadin IRC 项目的深入研究,开发者不仅可以掌握 Vaadin 框架的应用,还能学习到如何构建实时通信应用以及如何设计和实现 IRC 客户端和机器人。此外,对于想要学习开源软件开发和许可证应用的人来说,这也是...
通过学习和实践Crud-Vaadin-SpringBoot项目,你可以掌握Java Web开发中的核心技术和最佳实践,包括前后端分离、数据持久化、用户界面设计以及安全控制。这将有助于你构建更复杂的企业级应用程序。
通过研究"vaadin-bug-demos"中的案例,开发者不仅可以学习如何解决特定问题,还能提升对Vaadin框架的理解,从而在未来开发过程中避免类似错误。此外,参与修复这些bug的开发者还可以为Vaadin社区做出贡献,提升其在...
【visjs-vaadin-demo: visjs-call...通过深入研究这个示例项目,开发者不仅可以学习如何在Vaadin应用中使用Vis.js,还能了解如何将复杂的JavaScript库集成到Java Web开发中,以及如何优化Web应用的交互性和可视化效果。
5. 进度跟踪:记录用户的课程学习进度,便于个性化推荐和复习提醒。这涉及数据持久化,可以利用关系型数据库或NoSQL数据库如MongoDB。 6. 安全性:确保用户数据的安全,如使用HTTPS加密传输、密码哈希存储、防止SQL...
通过阅读和理解这些源代码,开发者不仅可以学习如何使用Vaadin框架构建Web应用,还能深入理解Java后端开发和数据库管理,对提高全栈开发技能大有裨益。同时,这个项目也可以作为教学案例,帮助初学者实践和巩固Java ...
这份“Java学习相关资料”包含了可能涵盖多个Java学习主题的资源,可能是书籍、教程、代码示例或者笔记,旨在帮助你深入理解Java的核心概念和技术。 在Java的学习中,首先会接触到基础语法,包括类、对象、接口、...
3. **日志记录和报告工具**:记录测试结果,生成测试报告,帮助开发者分析和调试问题。 4. **模拟服务器**:可能包含一个模拟的CMIS服务器,用于在没有真实服务器的情况下进行测试。 5. **API文档**:详细说明如何...
- **JSF(JavaServer Faces)** 或 **Vaadin**:使用这些富客户端框架创建交互式用户界面。 - **RESTful Web Services**:使用JAX-RS(Java API for RESTful Web Services)创建RESTful API,实现前后端分离。 - **...
《VaadinBookInventoryExampleApp:构建Java图书库存管理应用》 在本文中,我们将深入探讨...这个示例不仅为初学者提供了学习Vaadin的好材料,也为经验丰富的开发者提供了一种快速构建业务应用的途径。
标题 "dvdrental-training-center" 提供了一个学习项目的名称,该项目专注于 IT 领域中的自学习。这个项目可能是为了帮助用户熟悉一系列技术栈,包括但不限于 Java、GraphQL、Spring、Spring Boot、PostgreSQL 和 ...
它提供了一整套UI组件,使得开发者可以快速地构建交互式的用户界面,而无需深入学习前端技术。Vaadin框架以MVC(Model-View-Controller)架构为基础,支持事件驱动和响应式设计,确保了应用的高性能和用户体验。 在...
6. **异常处理与日志记录**:设置全局异常处理器,统一处理系统运行时可能出现的错误,并利用Log4j或Spring Boot的日志组件记录系统日志,便于问题排查。 7. **单元测试与集成测试**:使用JUnit、Mockito等工具进行...