Accessing a Java class from C when class is in a package

I'm accessign a java class from C using JNI: The JVM exists and I can access the class fine:
jclass cls; //java class
cls = (*env)->FindClass(env, "MyClass");
However when I put the class in a package I can't access it
cls = (*env)->FindClass(env, "mypackage.MyClass");
Does anyone know How I can access a java class in a package using JNI.
Thanks
..

Been a while since I've done anything with JNI, But... Did you try this:
cls = (*env)->FindClass(env, "mypackage/MyClass");

Similar Messages

  • Accessing private attribute of a class from its Friend Class

    Hi Experts ,
    Please help me to understand how can i access private attribute of one class from its friend class.
    I am coding in Method (DO_SAVE) of class /BOBF/CL_TRA_TRANSACTION_MGR.
    I need to access private variable ( MO_BOPF) of class /BOBF/CL_TRA_SERVICE_MGR ( Friend of /BOBF/CL_TRA_TRANSACTION_MGR ).
    Regards,
    Reny Richard

    Hi Reny,
    You should be able to access by creating object of friend class.
    Sample:
    data lo_frnd     TYPE REF TO  /BOBF/CL_TRA_SERVICE_MGR.
    data lo_compl  type REF TO /BOBF/IF_TRA_TRANS_MGR_COMPL.
       create OBJECT lo_frnd
         exporting
                   iv_bo_key = '111'
                   IO_COMPL_TRANSACTION_MANAGER = lo_compl.
    "access the private object of friend class
       clear lo_frnd->MO_BOPF.
    Note: need to provide iv_bo_key & IO_COMPL_TRANSACTION_MANAGER while creating object.
    Hope this helps you.
    Regards,
    Rama

  • How to access private attribute of a class from its Friend Class

    Hi Experts ,
    I am coding in Method (DO_SAVE) of class /BOBF/CL_TRA_TRANSACTION_MGR.
    I need to access private variable ( MO_BOPF) of class /BOBF/CL_TRA_SERVICE_MGR ( Friend of /BOBF/CL_TRA_TRANSACTION_MGR ).
    Please help me to understand how can i access private attribute of one class from its friend class.
    Regards- Abhishek

    Hi Reny,
    You should be able to access by creating object of friend class.
    Sample:
    data lo_frnd     TYPE REF TO  /BOBF/CL_TRA_SERVICE_MGR.
    data lo_compl  type REF TO /BOBF/IF_TRA_TRANS_MGR_COMPL.
       create OBJECT lo_frnd
         exporting
                   iv_bo_key = '111'
                   IO_COMPL_TRANSACTION_MANAGER = lo_compl.
    "access the private object of friend class
       clear lo_frnd->MO_BOPF.
    Note: need to provide iv_bo_key & IO_COMPL_TRANSACTION_MANAGER while creating object.
    Hope this helps you.
    Regards,
    Rama

  • Invoke a method in one class from a different class

    I am working on a much larger project, but to keep this simple, I wrote out a little test that would convey the over all theory of the program.
    What I am doing is starting out with a 2 JFrames and a Class. When the program is launched, the first JFrame opens. In this JFrame is a label and a button. When the button is clicked, the second JFrame opens. This JFrame has a textField and a button. The user puts the text in the textField and presses the button. When the button is pushed, I want the text that was just put in the textField, to be displayed in the first JFrame's label. I am trying to invoke a method in the first JFrame from the second, but nothing happens. I have also tried making the Class extend from JFrame1 and invoke it from there, but no luck. So, how do I invoke a method in a class from a different class?
    JFrame1 (I omitted the layout part. I made this in Netbeans so its pretty long)
    public class NewJFrame1 extends javax.swing.JFrame {
         private NewClass1 nC = new NewClass1();
         /** Creates new form NewJFrame1 */
         public NewJFrame1() {
              initComponents();
              jLabel1.setText("Chuck");
         public void setLabels()
              jLabel1.setText(nC.getName());
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                                  
         NewJFrame2 j2 = new NewJFrame2();
         j2.setVisible(true);The class
    public class NewClass1 {
         public static String name;
         public NewClass1()
         public NewClass1(String n)
              name = n;
         public String getName()
              return name;
         public void setName(String n)
              name = n;
    }The second jFrame
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                                  
         NewClass1 nC = new NewClass1();
         NewJFrame1 nF = new NewJFrame1();     
         nC.setName(jTextField1.getText());
         nF.setLabels();
         System.out.println(nC.getName());At this point I am begging for help. I have been trying for days to figure this out, and I just feel like I am not getting anywhere.
    Thanks

    So, how do I invoke a method in a class from a different class?Demo:
    public class Main {
        public static void main(String [] args) {
         Test1 t1 = new Test1();
         Test2 t2 = new Test2();
         int i = t1.method1();
         String s = t2.method2(i);
         System.out.println(s);
    class Test1 {
        public int method1() {
         return 10;
    class Test2 {
        public String method2(int i) {
         if (i == 10)
             return "ten";
         else
             return "nothing";
    }Output is "ten".
    Edited by: newark on May 28, 2008 10:55 AM

  • Calling a java application from within another class

    I have written a working java application that accepts command line parameters through public static void main(String[] args) {} method.
    I'm using webMethods and I need to call myapplication from within a java class created in webMethods.
    I know I have to extend my application class within the webMethods class but I do not understand how to pass the parameters.
    What would the syntax look like?
    Thanks in advance!

    why do you want to call the second class by its main method ??
    Why not have another static method with a meaningfull name and well defined parameters ?
    main is used by the jvm as an entry point in your app. it is not really meant for two java applications to communicate with each other but main and the code is not really readable.
    Have a look at his sample
    double myBalance = Account.getBalance(myAccountId);
    here Account is a class with a static method getBalance which return the balance of the account id you passed.
    and now see this one, here Account has a main method which is implemented to call getBalance.
    String[] args = new String[1];
    args[0] = myAccountId;
    Account.main(args);
    the problem with the code above is
    main doesn't return anything so calling it does do much good. two the code is highly unreadable because no one know what does the main do... unlike the sample before this one where the function name getBalance clearly told what is the function doing without any additional comments.
    hope this helps.... let me know if you need any additional help.
    regards,
    Abhishek.

  • How to refresh a JTable of a class from another thread class?

    there is an application, in server side ,there are four classes, one is a class called face class that create an JInternalFrame and on it screen a JTable, another is a class the a thread ,which accept socket from client, when it accept the client socket, it deal the data and insert into db,then notify the face class to refresh the JTable,but in the thread class I used JTable's revalidate() and updateUI() method, the JTable does not refresh ,how should i do, pls give me help ,thank you very much
    1,first file is a class that create a JInternalFrame,and on it there is a table
    public class OutFace{
    public JInternalFrame createOutFace(){
    JInternalFrame jf = new JInternalFram();
    TableModel tm = new MyTableModel();
    JTable jt = new JTable(tm);
    JScrollPane jsp = new JScrollPane();
    jsp.add(jt);
    jf.getContentPane().add(jsp);
    return jf;
    2,the second file is the main face ,there is a button,when press the button,screen the JInternalFrame. there is also a thread is beggining started .
    public class MainFace extends JFrame implements ActionListener,Runnable{
    JButton jb = new JButton("create JInternalFrame");
    jb.addActionListener(this);
    JFrame fram = new JFrame();
    public void performance(ActionEvent e){
    JInternalFrame jif = new OutFace().createOutFace(); frame.getContentPane().add(JInternalFrame,BorderLayout.CENTER);
    public static void main(String[] args){
    frame.getContentPane().add(jb,BorderLayout.NORTH);
    frame.pack();
    frame.setVisible(true);
    ServerSokct ss = new ServerSocket(10000);
    Socket skt = ss.accept()'
    new ServerThread(skt).start();
    3.the third file is a thread class, there is a serversoket ,and accept the client side data,and want to refresh the JTable of the JInternalFrame
    public class ServerThread extends Thread{
    private skt;
    public ServerThread(Sokcet skt){
    this.skt = skt;
    public void run(){
    OutputObjectStream oos = null;
    InputObjectStream ios = null;
    try{
    Boolean flag = flag;
    //here i want to refresh the JTable,how to write??
    catch(){}
    4.second is the TableModel
    public class MyTableModel{
    public TableModel createTableModel(){
    String[][] data = getData();
    TableModel tm = AbstractTableModel(
    return tm;
    public String[][] getData(){
    }

    Use the "code" formatting tags when posting code.
    Read this article on [url http://www.physci.org/codes/sscce.jsp]Creating a Simple Demo Program before posting any more code.
    Here is an example that updates a table from another thread:
    http://forum.java.sun.com/thread.jspa?forumID=57&threadID=435487

  • Help! how to refresh the JTable of a class from another thread class

    there is an application, in server side ,there are two classes, one is a class called face class that screen a JTable, another is a class the a thread ,which accept socket from client, when it accept the client socket, it deal the data and insert into db,then notify the face class to refresh the JTable,but in the thread class I used JTable's revalidate() and updateUI() method, the JTable does not refresh ,how should i do, pls give me help ,thank you very much

    thank you very much !
    i tried it ,but the TableModel i used like this ,and how to change the TableModel?
    here the files of mine ,pls give me some help,thank you very much
    1,first file is a class that create a JInternalFrame,and on it there is a table
    public class OutFace{
    public JInternalFrame createOutFace(){
    JInternalFrame jf = new JInternalFram();
    TableModel tm = new MyTableModel();
    JTable jt = new JTable(tm);
    JScrollPane jsp = new JScrollPane();
    jsp.add(jt);
    jf.getContentPane().add(jsp);
    return jf;
    2,the second file is the main face ,there is a button,when press the button,screen the JInternalFrame. there is also a thread is beggining started .
    public class MainFace extends JFrame implements ActionListener,Runnable{
    JButton jb = new JButton("create JInternalFrame");
    jb.addActionListener(this);
    JFrame fram = new JFrame();
    public void performance(ActionEvent e){
    JInternalFrame jif = new OutFace().createOutFace(); frame.getContentPane().add(JInternalFrame,BorderLayout.CENTER);
    public static void main(String[] args){
    frame.getContentPane().add(jb,BorderLayout.NORTH);
    frame.pack();
    frame.setVisible(true);
    ServerSokct ss = new ServerSocket(10000);
    Socket skt = ss.accept()'
    new ServerThread(skt).start();
    3.the third file is a thread class, there is a serversoket ,and accept the client side data,and want to refresh the JTable of the JInternalFrame
    public class ServerThread extends Thread{
    private skt;
    public ServerThread(Sokcet skt){
    this.skt = skt;
    public void run(){
    OutputObjectStream oos = null;
    InputObjectStream ios = null;
    try{
    Boolean flag = flag;
    //here i want to refresh the JTable,how to write?? }
    catch(){}
    4.second is the TableModel
    public class MyTableModel{
    public TableModel createTableModel(){
    String[][] data = getData();
    TableModel tm = AbstractTableModel(
    return tm;
    public String[][] getData(){
    }

  • How sholud we call one jframe class from another jframe class

    Hi
    In my application i am calling one jframe class from another jframe clas.
    how sholud we make previous jframe inactve when another jframe is invoked?(user sholud not able to make any changes on on parent jframe window when another jframe is invoked)
    Pls reply.

    Sorry for me it is not possible to change existing code,
    pls suggest me any other solution so that i can inactive parent jframe when child jframe execution is going on.

  • Creating an instance of a class from within another class

    I am trying to create an instance of MCQ in the T class but I am getting this error:
    File: E:\JAVA PROGRAMS\assignment 1\T.java [line: 15]
    Error: cannot find symbol
    symbol : class MCQ
    location: class T
    here are the two classes:
    // class T
    import java.awt.*;
    import java.util.*;
    import java.lang.*;
    public class T{
    public T(String aT)
    pest = aT;
    public static T t_one()
    T aT = new T("Calculator");
    aT.addQ(new MCQ( " 2 + 2", "equals 4", "equals 5", "equals 0", " equals -2",
    "is a prime number", 1));
    return aT;
    private String pest;
    //class Q
    import java.awt.*;
    import java.util.*;
    import java.lang.*;
    public abstract class Q{
    Vector q = new Vector();
    public String aT;
    abstract void addQ(Q aQ);
    public class MCQ extends Q{
    String a,b,c,d,e,f,g;
    int answer;
    public MCQ (String a, String b, String c, String d, String e, int answer)
    this.a = a;
    this.b = b;
    this.c = c;
    this.d = d;
    this.e = e;
    this.answer = answer;
    void addQ(Q aQ)
    q.addElement(new T(aT));
    I tried to make reference to MCQ by doing this in class T:
    MCC qT = new MCQ() ;
    but that presents a whole other set of problems.
    please help I think I have tried everything!

    Use code tags (http://forum.java.sun.com/help.jspa?sec=formatting)
    Don't import java.lang.* . You get those automatically.
    Your MCQ class is really Q.MCQ (the way you posted, anyway).
    If Q weren't abstract, you could do:
    new Q().new MCQ(...)But, you can't create a Q without defining 'add'. You could do it anonymously, but that makes no sense. Put Q and MCQ in separate files and try again.

  • Referencing WMI Manageable class from another WMI Class

    Hi,
    I am trying to have WMI manageable class referring to another WMI manageable class
    Something like
    [ManagementEntity]
    Class A
    [ManagementEntity]
    Class B
            [ManagementReference(Type = "A")]
            [ManagementProbe]
            public A AClass;
    When trying to install the class, I am getting “Type unsupported”
    I tried the Microsoft
    ManagementReference sample,
    http://msdn.microsoft.com/en-us/library/system.management.instrumentation.managementreferenceattribute.aspx
    (working fine but the LetterPhonetic class won’t show on the WMI Object Browser)
    Ideas will be highly appreciated
    My Sample code
    using System;
    using System.Management.Instrumentation;
    using System.Collections.Concurrent;
    using System.Collections;
    [assembly: WmiConfiguration("root\\ConsoleC", HostingModel = ManagementHostingModel.Decoupled)]
    namespace ConsoleDecoupled
        [System.ComponentModel.RunInstaller(true)]
        public class TheInstaller : DefaultManagementInstaller
        public class Program
            public static void Main(string[] args)
                for (int i = 0; i < 10; ++i)
                    TestEnumWmi ms = TestEnumWmi.CreateTestEnumWmi();
                    ms.teststring = i.ToString();
                InstrumentationManager.RegisterType(typeof(TestEnumWmi));
                InstrumentationManager.RegisterType(typeof(RuntimeConfigSettings));
                Console.WriteLine("Press enter to exit");
                Console.ReadLine();
                InstrumentationManager.UnregisterType(typeof(TestEnumWmi));
                InstrumentationManager.UnregisterType(typeof(RuntimeConfigSettings));
        [ManagementEntity(Singleton = true, Name = "ConfigurationSample")]
        [ManagementQualifier("Description", Value = "Configuration Sample Application")]
        public class RuntimeConfigSettings
            [ManagementProbe]
            public string[] ReadMe;
            private int myVar;
            [ManagementConfiguration]
            public int MyProperty
                get { return myVar; }
                set { myVar = value; Console.WriteLine(value); }
            [ManagementReference(Type = "TestEnumWmi")]
            [ManagementProbe]
            public TestEnumWmi MSS;
            [ManagementBind]
            public RuntimeConfigSettings()
                ReadMe = new string[10];
                for (int i = 0; i < 10; ++i)
                    ReadMe[i] = "blah " + i;
        [ManagementEntity(Name = "TestEnumWmi")]
        public class TestEnumWmi
            private TestEnumWmi()
            static internal TestEnumWmi CreateTestEnumWmi()
                TestEnumWmi ms = new TestEnumWmi();
                ms._id = Guid.NewGuid().ToString();
                ms.teststring = "blah";
                ms.TestInt = new Random().NextDouble();
                instantlist.TryAdd(ms._id, ms);
                return ms;
            [ManagementConfiguration()]
            public double TestInt { get; set; }
            [ManagementConfiguration()]
            public string teststring { get; set; }
            [ManagementKey(Name = "ID")]
            public string _id;
            [ManagementBind]
            static public TestEnumWmi GetInstant([ManagementName("ID")] string ID)
                TestEnumWmi ms = null;
                if (instantlist.TryGetValue(ID, out ms))
                    return ms;
                else
                    throw new InstanceNotFoundException();
            [ManagementEnumerator]
            static public IEnumerable EnumerateTestEnumWmis()
                foreach (var i in instantlist)
                    yield return i.Value;
            static internal ConcurrentDictionary<string, TestEnumWmi> instantlist = new ConcurrentDictionary<string, TestEnumWmi>();

    Hi,
    The Microsoft ManagementReference sample you mentioned contains a bug:
    Instead of:
    inst.LetterNumber = "Letter = " + i;
    inst.PhoneticNumber = "Phonetic = " + i;
    The exact text (where spaces in the string are important and must be removed) should be:
    inst.LetterNumber = "NumberLetter.Number=" + i;
    inst.PhoneticNumber = "NumberPhonetic.Number=" + i;
    With this fix, the hierarchy can now be navigated properly.
    c.f. my response to the following blog post:
    http://juggledthoughts.blogspot.co.uk/2008/06/wmi-association-classes.html
    I have also
    logged a bug on MSDN Feedback so please vote on this if you'd like them to fix the sample.

  • Best way to call a function in a generic class from a base class

    Hi,
    I have a generic class that works with subclasses of some other baseclass. When I construct the subclass, I call the constructor of the baseclass which I want to call a function in the generic class. e.g. suppose I have the following classes
    public class List<T extends BaseClass>
        newTCreated(T t)
    }

    Sorry, I pressed Tab and Enter last time when typing the code so I posted without meaning to
    Hi,
    I have a generic class that works with subclasses of some other baseclass. When I construct the subclass, I call the constructor of the baseclass which I want to call a function in the generic class. e.g. suppose I have the following classes
    public class List<T extends BaseClass>
        public void newTCreated(T t)
            // add the t to some internal list
        public T getT(int index)
            // get the object from the internal list
    public class BaseClass
        public BaseClass(List<?> list)
            list.newTCreated(this);
    public class SubClass extends BaseClass
        public SubClass(List<SubCass> list)
            super(list);
    }This doesn't compile because of the call to newTCreated in the BaseClass constructor because BaseClass is not necessarily of type T. Is there any way of checking when I call the newTCreated function that the BaseClass is actually of type SubClass? I could either add the call explicitly in each SubClass's constructor or have a function addToList in BaseClass that is called from the BaseClass constructor but overloaded in each subclass but both of those rely on future subclasses doing the same. Or I could change the newTCreated function to take an argument of type BaseClass and then cast it to type T but this doesn't give a compilation error, only a runtime exception.
    It seems like there should be solution but having only recently started writing Generic classes I can't find it. Thanks in advance for any help,
    Tom

  • How to directly call business object class from backing bean class

    I woul like to call business object class directly from the backing bean class and implement methods in BO. If possible can anyone give an example code.
    Thanks in advance

    Which problems are you occurring then? I really don't see problems. You're just free to access and invoke them.

  • Batch input on IE02  "Class type" popup when class overview - but why??

    Hi guys!
    Usually when i go to IE02, i access "class overview" and there i see directly the Classification of this equipment, also i can edit it.
    BUT:
    As soon i use a Batch input on IE02, it brings up an additional popup when i click "class overview". The popup "Class type"? - i don't understand why i get this popup only when using a Batch input...
    Can i avoid this popup somehow in the batch input?
    thanks

    >
    shashi jha wrote:
    > This is mandatory field about which the sap is searching for the data
    >
    Hi!
    But when i access IE02 without a batch input, this popup does not appear!
    Edited by: Thomas Roithmeier on Mar 24, 2009 12:46 PM

  • Accessing non-Java components from Struts

    I want to access a PHP forum package through my Struts classes.
    Can someone pls help?

    I want to access a PHP forum package through my Struts classes.Do you know how to use a Search Engine ?
    http://php-java-bridge.sourceforge.net/
    andi

  • How I call a JApplet class from another JApplet class ?

    I have a Japplet class named ConnectionClient and I want to open another JApplet window when I clicked a button.
    I tried that call init() method but it is not accomplished. Please help me !

    for example:
    import java.awt.BorderLayout;
    import java.awt.Font;
    import java.awt.GridLayout;
    import java.awt.Window;
    import java.awt.Dialog.ModalityType;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JApplet;
    import javax.swing.JButton;
    import javax.swing.JComponent;
    import javax.swing.JDialog;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.SwingConstants;
    import javax.swing.SwingUtilities;
    public class MyApplet extends JApplet
      public void init()
        try
          javax.swing.SwingUtilities.invokeAndWait(new Runnable()
            public void run()
              createGUI();
        catch (Exception e)
          System.err.println("createGUI didn't successfully complete");
      private void createGUI()
        getContentPane().add(new AppletPanel().getComponent());
    class AppletPanel
      private JPanel mainPanel = new JPanel();
      public AppletPanel()
        JButton showDialog = new JButton("Show Dialog");
        mainPanel.add(showDialog);
        showDialog.addActionListener(new ActionListener()
          public void actionPerformed(ActionEvent e)
            JButton btn = (JButton)e.getSource();
            Window win = SwingUtilities.getWindowAncestor(btn);
            JDialog dialog = new JDialog(win, "My Dialog", ModalityType.APPLICATION_MODAL);
            dialog.getContentPane().add(new DialogPanel().getComponent());
            dialog.pack();
            dialog.setLocationRelativeTo(null);
            dialog.setVisible(true);
      public JComponent getComponent()
        return mainPanel;
    class DialogPanel
      private static final int SIDE = 9;
      private JPanel mainPanel = new JPanel();
      public DialogPanel()
        JPanel btnPanel = new JPanel(new GridLayout(SIDE, SIDE, 5, 5));
        for (int i = 0; i < SIDE; i++)
          for (int j = 0; j < SIDE; j++)
            JButton btn = new JButton("[" + i + ", " + j + "]");
            btnPanel.add(btn);
        JLabel titleLabel = new JLabel("JDialogs Can Be Complex", SwingConstants.CENTER);
        titleLabel.setFont(titleLabel.getFont().deriveFont(Font.BOLD, 32));
        mainPanel.setLayout(new BorderLayout());
        mainPanel.add(titleLabel, BorderLayout.NORTH);
        mainPanel.add(btnPanel, BorderLayout.CENTER);
      public JComponent getComponent()
        return mainPanel;
    }

Maybe you are looking for

  • Scheduling Agreement Info

    Hello, I have one query on Scheduling agreement. Let say i have created a scheduling agreement for material 1234 and vendor xyz and other deatils like quantity etc. After some time i changed the quantity from 100 to 200 and also changed the purchasin

  • Acrobat 9 Pro in CS4 - Acrobat X upgrade doesn't work with this!!!

    I bought this upgrade which recognised that there was a version of Acrobat on my system but later on during the installation, said it was not an eligible product.  Doubt very much I'll get a refund from the vendor now the package is opened and used.

  • Help, the iPhone cannot be restored,unknown error 1015

    Im having this problem and I got paniced, tried to update the software on the iPhone( with the newest) & now I cant even restore it, always comes up with this Warning- the iPhone could not be restored, unknown error 1015. Please, advice what to do? T

  • Internal Order Budget Table

    Hi Folks, Please clarify below: 1) Internal Order Budget is updated / modified in t-code KO22. Below fields are displayed for budget balances: a. Budget b. Transaction Currency c. Current Bedget d. Assigned e. Planned Total f. Cumulative g. Remainder

  • Obtaining Org Unit from Business Partner number

    Hi,  I am trying to obtain an org unit object id from the bp number that is created when the org unit is created.  I am in a BP BADI, so I only have the bp number, and am in the process of creating a new org unit when the BADI is called.  I have trie