Name

jimport — Import a Java class

Calling Sequence

      jimport(className)
      cl = jimport(className, isAClassReturned)
    

Parameters

className

A string giving the class name

isAClassReturned

A boolean to indicate if a class object must be returned

Description

The class must be in the classpath (to add a package or a directory in the Java classpath, just use javaclasspath).

When jimport("java.lang.String"), a mlist named String is created on the Scilab stack. The created mlist has a type equals to _JClass and can be used to instantiate new objects in using something like str = String.new("A Scilab String");. It is possible to call the static methods (if exist) of the class

      
               jimport java.lang.System;
               jimport java.util.Date;
               System.err.println("A message print in the Scilab console");
               l = System.currentTimeMillis();
               d = Date.new(l)
               jremove(l,d);
      

To avoid confusion with already existing Scilab variables, the second argument isAClassReturned can be used

        
                 String = "Hello";
                 foo = jimport("java.lang.String", %f);
                 obj = foo.new("A string...")
                 jremove(obj);
        

A class can be reloaded if it is allowed by the function jallowReloadClass.

Examples

      
               jimport javax.swing.JFrame;
               jimport javax.swing.JLabel;

               jframe = JFrame.new("Hello World !! Window");
               jlabel = JLabel.new("A JLabel containing ""Hello Wolrd""");
               cp = jframe.getContentPane();
               cp.add(jlabel);
               jframe.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
               jframe.pack();
               jframe.setVisible(%t);
               jremove jlabel cp jframe;
      

See Also

javaclasspath , jallowClassReloading , jremove

Author

Calixte Denizet