I´ve modified the HellloworldProgramNodecontribution to realise a URCap that moves the Robot directly to a desired move with a simple click on my URCap Button as below :
package com.ur.urcap.examples.helloworld.impl ;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
// API stuff imported
import com.ur.urcap.api .contribution.ProgramNodeContribution ;
import com.ur.urcap.api.domain.URCapAPI ;
import com.ur.urcap.api.domain.data.DataModel ;
import com.ur.urcap.api.domain.script.ScriptWriter ;
import com.ur.urcap.api.ui.annotation.Input ;
import com.ur.urcap.api.ui.annotation.Label ;
import com.ur.urcap.api.ui.component.InputEvent ;
import com.ur.urcap.api.ui.component.InputTextField ;
import com.ur.urcap.api.ui.component.LabelComponent ;
public class HelloWorldProgramNodeContribution {
public class clientSendScript {
//public clientSendScript() { }
// localhost IP
private String TCP_IP = "127.0.0.1";
// Port for secondary client
private int TCP_port = 30002;
// Public method to send MoveJ command to client interface
public void sendMoveJ(String pose){
sendToSecondary("movej(p[0.0,-0.3,0.1,0,3.1415,0],a=1.57,v=0.5)");
}
// Internal method that sends script to client
private void sendToSecondary(String command){
try{
// Create a new Socket Client
Socket sc = new Socket(TCP_IP, TCP_port);
if (sc.isConnected()){
System.out.println("Connected to UR Secondary Client");
}
// Create stream for data
DataOutputStream out;
out = new DataOutputStream(sc.getOutputStream());
// Wrap command in "def" and "end"
String thisCommand = "def myCustomCode():\n "+command+"\n end\n";
// Send command
out.writeUTF(thisCommand);
System.out.println("Send this: "+thisCommand);
out.flush();
// Perform housekeeping
out.close();
sc.close();
System.out.println("Disconnected from UR Secondary Client");
}
catch (IOException e){
System.out.println(e);
}
}
}
}
the Project is succefully built but when I press my URCap iget an error message :
“Software Error !”
Java.lang.NoSuchMethodError:com.ur.urcap.examples.helloworld.impl.HelloWorldProgramNodeContribution.(Lcom/ur/urcap/api/Domain/URCapAPI:Lcom/ur/urcap/api/Domain/data/DataModel:)V
does anyone knows why am I getting this Error?
should I modify my “programnode.html” File?
thank you for your help
Is this the only class, that you have in your URCap?
If so, it seems that you are missing all of the Overridden methods for a ProgramNodeContribution.
should I use the Overridden methods?
when yes ,what i the Utility here to use an @Override mehod
I searched in Google but I didn’t get a convincing answer
thank you in advance