Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Js call Applet function with parameters problem

Posted on 2009-05-15
9
Medium Priority
?
858 Views
Last Modified: 2012-05-07
Hello all,

Thank you for your time.
I am in need of calling a java applet function from a JS function, that much I am able to do so far but if I need to pass a parameter to the function then I keep getting:
"java.lang.IllegalArgumentException: No method found matching name FileChecker and arguments [java.lang.String]]."
The JS funtion is sending a String and the Applet function is set to receive a String parameter so I dont know what could be wrong.

I tried following the guidance of http://www.woodger.ca/js_jvint.htm but did not work on my end.

Please note, the function without passing any parameter is working fine.

What could be wrong here??
// JS part:
<script type="text/javascript">
function testJava()
{
	var sInput = document.frmJava.input.value;
	var sFile = document.FileChecker.FileChecker(sInput);
	alert(sFile);
}
</script>
 
 
//
// Java function
public String FileChecker(java.lang.String sFile) 
{
	return "Ok I got the parameter: " + sFile;
}

Open in new window

0
Comment
Question by:mespinozae
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
  • 2
9 Comments
 
LVL 86

Expert Comment

by:CEHJ
ID: 24393221
Did you name the applet 'FileChecker' in your html?
0
 
LVL 10

Expert Comment

by:bugada
ID: 24393277
This error happens beacause in your applet class FileChecker there is'nt a corrisponding method FileChecker.
If your goal is to access the contructor, then you can't. You must call a public method.

Something like that

/* frontend side */
 
function testJava()
{
        var sInput = document.frmJava.input.value;
        var sFile = document.FileChecker.getFile(sInput);
        alert(sFile);
}
 
/* in your java class, assuming a string type return value */
 
public class FileChecker ... {
 
   public String getFile(String input) {
      ...
      return theFile;
   }
}

Open in new window

0
 
LVL 86

Expert Comment

by:CEHJ
ID: 24393293
Also make sure you're using the very latest version of the applet - you might need to clear the cache to do that
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
LVL 2

Author Comment

by:mespinozae
ID: 24393295
@CEHJ: Yeap, I did name the applet like that:


@bugada: I have my class named like that (and I recompile every time I test it to make sure I get the latest changes right)

Still no luck..

// html
<APPLET codebase="" name="FileChecker" id="FileChecker" archive="....

Open in new window

0
 
LVL 10

Expert Comment

by:bugada
ID: 24393305
Please reread carefully my post, and if yua have doubts take a look at this page:

http://www.rgagnon.com/javadetails/java-0170.html
0
 
LVL 10

Accepted Solution

by:
bugada earned 500 total points
ID: 24393341
The problem is not the name of your class, that I presume is right. You must call a *public method* of that class.
You can't call the class constructor, because the class is initialized when the JVM is starting up.
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 24393355
It certainly *looks* like a ctor but isn't - it returns String. Method names should be in camel case
0
 
LVL 2

Author Comment

by:mespinozae
ID: 24393430
@bugada: Of course!!! Im sorry I didnt read carefully your message, that was the problem! I hadnt realized my method name was also the class name so it of course turned out to be the constructor... silly me!

Thank you both very much for you help!


0
 
LVL 10

Expert Comment

by:bugada
ID: 24393434
If it isn't a contructor,  it's really a BAD name for a java getter method.

0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction This article is the first of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article explains our test automation goals. Then rationale is given for the tools we use to a…
Java functions are among the best things for programmers to work with as Java sites can be very easy to read and prepare. Java especially simplifies many processes in the coding industry as it helps integrate many forms of technology and different d…
Video by: Michael
Viewers learn about how to reduce the potential repetitiveness of coding in main by developing methods to perform specific tasks for their program. Additionally, objects are introduced for the purpose of learning how to call methods in Java. Define …
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
Suggested Courses

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question