2015-11-21 15 views
6

Bằng cách sử dụng "Spring Stater Project" trong Eclipse/STS, tôi đã có thể có dự án Vaadin và chạy nhanh. Tôi muốn thêm biểu đồ qua Vaadin-Addon vào dự án. Tôi có Googled cố gắng tìm cách thêm đúng và sử dụng phần bổ sung Vaadin Chart cho dự án. Nhưng tôi đang bối rối vì có rất nhiều "Hướng dẫn/Hướng dẫn", nhưng rất nhiều không cho khởi động mùa xuân hoặc họ đã lỗi thời hoặc một phần.Làm cách nào để sửa 'com.vaadin.DefaultWidgetSet' không chứa triển khai cho com.vaadin.addon.charts.Chart

Vì vậy, tôi đang tìm kiếm Hướng dẫn/Hướng dẫn hoàn chỉnh cho Vaadin-SpringBoot-VaadinChart-AddOn.

Đây là những gì tôi có cho đến nay:

tập tin

---- Pom ----

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.aci</groupId> 
    <artifactId>oversight2</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>oversight2</name> 
    <description>Oversite</description> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.2.5.RELEASE</version> 
     <relativePath /> <!-- lookup parent from repository --> 
    </parent> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <java.version>1.8</java.version> 
    </properties> 

    <dependencies> 
<!--  <dependency> --> 
<!--   <groupId>com.vaadin</groupId> --> 
<!--   <artifactId>vaadin-spring-boot</artifactId> --> 
<!--   <version>1.0.0</version> --> 
<!--  </dependency> --> 

     <dependency> 
      <groupId>com.vaadin</groupId> 
      <artifactId>vaadin-spring-boot-starter</artifactId> 
      <version>1.0.0.beta3</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>com.vaadin.addon</groupId> 
      <version>2.0.0</version> 
      <artifactId>vaadin-charts</artifactId> 
     </dependency> 
    </dependencies> 

    <dependencyManagement> 
     <dependencies> 
      <dependency> 
       <groupId>com.vaadin</groupId> 
       <artifactId>vaadin-bom</artifactId> 
       <version>7.4.5</version> 
       <type>pom</type> 
       <scope>import</scope> 
      </dependency> 
     </dependencies> 
    </dependencyManagement> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
    </build> 
    <repositories> 
     <repository> 
      <id>vaadin-addons</id> 
      <url>http://maven.vaadin.com/vaadin-addons</url> 
     </repository> 
    </repositories> 

</project> 

---- mã Java ----

public class BasicBarChart extends AbstractVaadinChartExample { 

    @Override 
    public String getDescription() { 
     return "Basic bar"; 
    } 

    @Override 
    protected Component getChart() { 
     Chart chart = new Chart(ChartType.BAR); 

     Configuration conf = chart.getConfiguration(); 

     conf.setTitle("Historic World Population by Region"); 
     conf.setSubTitle("Source: Wikipedia.org"); 

     XAxis x = new XAxis(); 
     x.setCategories("Africa", "America", "Asia", "Europe", "Oceania"); 
     x.setTitle((String) null); 
     conf.addxAxis(x); 

     YAxis y = new YAxis(); 
     y.setMin(0); 
     Title title = new Title("Population (millions)"); 
     title.setVerticalAlign(VerticalAlign.HIGH); 
     y.setTitle(title); 
     conf.addyAxis(y); 

     Tooltip tooltip = new Tooltip(); 
     tooltip.setFormatter("this.series.name +': '+ this.y +' millions'"); 
     conf.setTooltip(tooltip); 

     PlotOptionsBar plot = new PlotOptionsBar(); 
     plot.setDataLabels(new Labels(true)); 
     conf.setPlotOptions(plot); 

     Legend legend = new Legend(); 
     legend.setLayout(LayoutDirection.VERTICAL); 
     legend.setHorizontalAlign(HorizontalAlign.RIGHT); 
     legend.setVerticalAlign(VerticalAlign.TOP); 
     legend.setX(-100); 
     legend.setY(100); 
     legend.setFloating(true); 
     legend.setBorderWidth(1); 
     legend.setBackgroundColor("#FFFFFF"); 
     legend.setShadow(true); 
     conf.setLegend(legend); 

     conf.disableCredits(); 

     List series = new ArrayList(); 
     series.add(new ListSeries("Year 1800", 107, 31, 635, 203, 2)); 
     series.add(new ListSeries("Year 1900", 133, 156, 947, 408, 6)); 
     series.add(new ListSeries("Year 2008", 973, 914, 4054, 732, 34)); 
     conf.setSeries(series); 

     chart.drawChart(conf); 

     return chart; 
    } 
} 

@SpringUI 
@VaadinServletConfiguration(productionMode = false, ui = MyVaadinUI.class) 
public class MyVaadinUI extends UI { 
    @Override 
    protected void init(VaadinRequest vaadinRequest) { 
     setContent(new BasicBarChart()); 
    } 
} 

Tôi đã tạo khóa cấp phép AGPL 30 ngày

Có một số trang web cho biết tôi cần một tệp gwt.xml hoặc có thể thực hiện việc này bằng các chú thích

Một số trang web cho biết tôi cần phải "biên dịch lại widgetet" của bạn. tệp pom.

Các trang web khác nói rằng tôi cần một tệp web.xml nhưng với ứng dụng Vaadin của spring-boot-vaadin chỉ chạy.

Khi tôi chạy mã, tôi nhận được:

Widgetset 'com.vaadin.DefaultWidgetSet' không chứa thực hiện cho com.vaadin.addon.charts.Chart. Kiểm tra bản đồ @Connect của trình kết nối thành phần, tệp mô tả mô-đun GWT của trình kết nối thành phần và biên dịch lại widgetset của bạn. Trong trường hợp bạn đã tải xuống gói tiện ích bổ sung vaadin, bạn có thể tham khảo hướng dẫn bổ sung.

+0

ok ... Tôi sẽ thêm một mục nhập khác với những gì tôi đã làm cho đến nay và điều đó đã không hoạt động ... Thú vị về cách nhận xét như bạn có thể làm phiền một người. – KRico

Trả lời

5

Quy trình này giống như tất cả các tiện ích bổ sung. Đối với các ứng dụng đơn giản, bạn chỉ cần các tiện ích lõi và có thể sử dụng "DefaultWidgetSet". Bạn sẽ cần phải có "ApplicationWidgetset" với dự án của bạn kết hợp các triển khai thành phần phía máy khách cơ bản từ lõi với tất cả các tiện ích bổ sung mà bạn sử dụng trong dự án của mình.

Đây là những hướng dẫn từ ví dụ sử dụng TouchKit add-on, nhưng quá trình này về cơ bản là giống nhau:

+1

Cảm ơn bạn !!! Chỉ cần một nơi để bắt đầu. cdn.virit.in là những gì tôi cũng đang tìm kiếm ... Cấu hình ít hơn và ít mã cookie cutter hơn. Cảm ơn bạn rất nhiều! – KRico

Các vấn đề liên quan