views:

74

answers:

4

NetBeans do not accept my code. Why? See the pic.

A: 

Perhaps you are missing an import. Can you import "ServiceProvider"? It's hard to know for sure without know more about your project setup, but that's my first guess.

FrustratedWithFormsDesigner
+1  A: 

You need to import the annotations you're using.

E.g, import org.whatever.package.contains.ServiceProvider;

tpdi
+1  A: 
import {package}.ServiceProvider;
Bertrand Marron
A: 

You need to change the code from

package org.demo.myfilter;

import org.demo.textfilter.TextFilter;

@ServiceProvider(service=TextFilter.class)
public class UpperCaseFilter implements TextFilter {

    public String process(String s) {
        return s.toUpperCase();
    }

}

into

package org.demo.myfilter;

import org.demo.textfilter.TextFilter;
import org.openide.util.lookup.ServiceProvider;

@ServiceProvider(service=TextFilter.class)
public class UpperCaseFilter implements TextFilter {

    public String process(String s) {
        return s.toUpperCase();
    }

}

Note: You can leverage the Fix Imports item from the Source menu (CTRL-SHIFT-I/Clover-SHIFT-I) to take care of the second one automatically, if you have declared the dependeny between your module and the NetBeans platform Utilities API module

vkraemer