Calling other classes

First off, I should note that I'm new here, and this question is probably ridiculously easy to fix, but I'll give it anyway.
I am making a game (Mini Golf) using the FANG engine (http://www.fangengine.org). I'm not sure if that matters for this problem, but it may. Anyway, the game consists of a bounce engine, a putting engine, and the levels. I'd like to have each level in its own class, with the main class containing the engines and having something like this in it.
<code>
if (ballGoesInHole)
holeOn = holeOn + 1;
if (holeOn = 2)
runLevel2Class();
</code>
Of course, there would be more if (holeOn = hole) statements. The problem? I'm not sure how to do it. The Level?Class() would just make the next level, and have to physics whatsoever. It would just draw. The physics engine would have to refer back to sprites created in the Level Classes. Is this even possible? If it can be done, how?

qwerty96 wrote:
Ok, I think I've got a handle on that. Just one thing, however. I have an arrayList that will be added to in the other classes. So if I create an arrayList in The Main class, then how do I add to it in the other classes?Expose a public void addThing(Thing thing) method from the Main class, yes?
You really really really need to go through [The Tutorials|http://java.sun.com/docs/books/tutorial/] (or something)... you're wasting your time asking basic questions, and we're wasting our time answering them.

Similar Messages

  • Passing values and calling other classes?

    Hello all.
    I have 2 classes(separate .java files). One is a login class and the other is the actual program. Login class(eventually exe file) should open the other class and pass the login parameters if you know what I mean. Is this possible, or do the 2 classes need to be part of one file?
    Thanks alot
    Milan D

    Login class can be another class in another file
    wht u have to do is to make an instance of login class in the class u want to use that class
    like login lg = new Login();
    and call method of login class
    lg.setUser(username);
    where setUser(String user); is a method of login class
    this way u can pass the parameters to login class
    i hope this might be helpful
    regards
    Moazzam

  • Problems compiling when calling other classes

    hello,
    following the Sun tutorial "How to build a application" i wrote this code...
    package divelog;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class DiveLog extends JFrame{
         // make space in memory for a tabbed pane - not a object until constructor is called to initate
         private JTabbedPane tabbedPane;
         public DiveLog(){ //opens constructor - constructor iniaties objects
              super("Jason's DiveLog"); // super calls jframe - this is cause DiveLog extends JFrame
              addWindowListener(new WindowAdapter() // closes program form clicking "x" on the Jframe
              { //opens addWindowListener method
                   public void windowClosing(WindowEvent e){
                        System.exit(0);
         tabbedPane = new JTabbedPane(SwingConstants.LEFT);
         //tabbedPane.setBackground(Color.blue);
         //tabbedPane.setForeground(Color.white);
         // method to add tabs
         populateTabbedPane();
         //method builds menu
         buildMenu();
         // put on JFrame and set sizes
         getContentPane().add(tabbedPane);
         pack();
         setSize(765,690);
         setBackground(Color.white);
         setVisible(true);
         } //ends constructor started on line 13  - DiveLog()     
         // Methods -- for the constructor
         private void populateTabbedPane(){
              tabbedPane.addTab("Welcome",
                                                                null,
                                                                new Welcome(),
                                                                "Welcome to Jason's Dive Log");
              tabbedPane.addTab("Diver Data",
                                                                 null,
                                                                 new Diver(),
                                                                 "Click here to enter diver data");
              tabbedPane.addTab("Log Dives",
                                                                null,
                                                                new Dives(),
                                                                "Click here to enter dives");
              tabbedPane.addTab("Stats",
                                                                null,
                                                                new Statistics(),
                                                                "Click here to calculate stats");
         } // ends tabbed pane method
         private void buildMenu(){
              JMenuBar mb = new JMenuBar();
              JMenu menu = new JMenu("FIle");
              JMenuItem item = new JMenuItem("Exit");
              menu.add(item);
              mb.add(menu);
              setJMenuBar(mb);
              item.addActionListener(new ActionListener()
                   public void actionPerformed(ActionEvent e){
                        System.exit(0);
         }// ends buildMenu method
    } //ends class
              then... i made the welcome, dives,diver.... classes ...they look like this...
    package divelog;
    import javax.swing.*;
    import java.awt.*;
    public class Welcome extends JPanel{
    }all the .java files are in /home/mohadib/java_restore/DiveLog/
    so per the tutorial i try to compile with this.....
    javac -classpath /home/mohadib/java_restore/ DiveLog.java
    but i get this error....
    mohadib@mohadib ~/java_restore/DiveLog--->javac -classpath /home/mohadib/java_restore/ DiveLog.java
    DiveLog.java:48: cannot resolve symbol
    symbol : class Welcome
    location: class divelog.DiveLog
    new Welcome(),
    ^
    DiveLog.java:53: cannot resolve symbol
    symbol : class Diver
    location: class divelog.DiveLog
    new Diver(),
    ^
    DiveLog.java:58: cannot resolve symbol
    symbol : class Dives
    location: class divelog.DiveLog
    new Dives(),
    ^
    DiveLog.java:63: cannot resolve symbol
    symbol : class Statistics
    location: class divelog.DiveLog
    new Statistics(),
    ^
    4 errors
    could some one please tell me what im doing wrong :)
    Thanks,
    jd
              

    found the problem...
    i used this at the top of all the .java files....
    package divelog;
    then my dir tree looked like this....
    /home/mohadib/java_restore/DIveLog
    so i changed to
    /home/mohadib/java_restore/divelog
    and compiled with this....
    javac -classpath /home/mohadib/java_restore DiveLog.java
    then ran it with this.....
    java -classpath /home/mohadib/java_restore divelog.DiveLog
    thanks,
    jd

  • HELP: calling other class' main

    iam executing a java application by specifying arguments for exmaple:
    java MyApp arg1 arg2and arguments are compulsary.
    My question is how can i run MyApp from other java application?
    Sample code would do. thanks.

    Jepot wrote:
    iam executing a java application by specifying arguments for exmaple:
    java MyApp arg1 arg2and arguments are compulsary.
    My question is how can i run MyApp from other java application?
    Sample code would do. thanks.What have you tried? What do you think you should do?

  • How do you use a main applet to call other child applets?

    Hello Everyone!
    I have created three separate applets that animate different colored walkers that walk across the web page with each applet doing what I need them to do. I need to create a main applet that displays a component that allows the user to select how many walkers(1-3) they would like to see displayed walking across the screen. The main applet should call only one walker applet if 1 is selected, call two applets if 2 is selected, or call all three applets if 3 is selected.
    My textbook has covered how to call other classes in an application but not a main applet calling other applets. I have gone through the tutorials but have not found anything related to what I need to do. Google didn't have any good ideas.
    Another possibility that would work would be to have one applet with each walker having its own method to be called based upon the selection. Then again, my textbook didn't cover calling methods within an applet.
    Any hints or suggestions would be greatly appreciated on these issue.
    Thanks.
    Unclewho

    Remember, an Applet is nothing more than a Panel (or JPanel for a JApplet) - basically an empty graphics container waiting for UI or graphics commands.
    You do not have a "main" applet as you do when you create an executable application which requires the 'main' method.
    The best thing to do, is simply do an HTTP Redirect to a page created with the desired number of "walkers". In your cause, the most you'd need is 3 walkers, so 4 pages - 1 redirect page, and then a page with 1 walker, a page with 2 walkers, and a page with 3 walkers.

  • Calling a object of class from other class's function with in a package

    Hello Sir,
    I have a package.package have two classes.I want to use object of one class in function of another class of this same package.
    Like that:
    one.java
    package co;
    public class one
    private String aa="Vijay";  //something like
    }main.java:
    package co;
    import java.util.Stack;
    public class main extends Stack
    public void show(one obj)
    push(obj);
    public static void main(String args[])
    main oo=new main();
    }when I compile main class, Its not compile.
    Its give error.can not resolve symbol:
    symbol: class one
    location: class co.main
    public void show(one obj)
                              ^Please help How that compile "Calling a object of class from other class's function with in a package" beacuse I want to use this funda in an application

    kumar.vijaydahiya wrote:
    .It is set in environment variable.path=C:\bea\jdk141_02\bin;.,C:\oraclexe\app\oracle\product\10.2.0\server\bin;. command is:
    c:\Core\co\javac one.javaIts compiled already.
    c:\Core\co\javac main.javaBut it give error.
    Both java classes in co package.Okay, open a command prompt and execute these two commands:
    // to compile both classes:
    javac -cp c:\Core c:\Core\co\*.java
    // to run your main-class:
    java -cp c:\Core co.main

  • Calling repaint from other Class file.

    Hi,
    First of all i am pretty new to Java so I hope you understand what I am trying to explain..
    I am trying to create an applet which draws some polygons on the screen. For the drawing of these polygons I have created another class which is located in another package but the same project. I plan to use this second package as some kind of library so that i can simple call 2 or 3 functions in future applets to draw these polygons (which always have the same shape). In the library file i have created a contructor, a draw function and some other functions to change some properties. I also created a function that created a popup window as soon as i click on one of the polygons i have created. In the popup some buttons are available which change the color of the polygon. All this works fine, but the problem i have is the following:
    When i click a button the main class (in package 1) needs to be repainted for the changes to be visable. But the main class can always be a different one. Is it possible to check in the class in the library package, which class from the main package called the class, and execute a repaint() on that class. So i have the following situation:
    Package 1 (Applets):
    package applets;
    class myApplet extends Applet implements .... {
    private Tank tank1 = new Tank(20, 20, 100, 200);
    private Tank tank2 = new Tank(250, 20, 100, 200);
    public void paint(Graphics g) {
    tank1.drawTank(g);
    tank2.drawTank(g);
    public void mouseClicked(MouseEvent e) {
    tank1.openWindow();
    tank2.openWindow();
    Package 2 (Library):
    package applets.library;
    class Tank {
    public Tank(int xPos, int yPos, int height, int width) {
    public void drawTank(Graphics g) {
    public void openWindow() {
    new myWindow("Window1");
    public class myWindow extends Frame {
    public myWindow(String name) {
    show();
    public boolean action(Event e, Object arg) {
    return true;
    So what i want to do is: In class Tank in the public class myWindow in the method action, i want to call the repaint() of the class myApplet
    I hope my problem is clear to you, as you may have noticed i have a little trouble explaining it clearly..

    First of all thanks a lot for your reply and sorry for my way of programming. Like i said i am pretty new to Java, i am actually only programming for about 2 weeks and trying to learn from some examples on the internet.
    I dont really understand what you want me to do, is it maybe possible to give a little bit of sample code? That would help me a lot.
    Maybe some background information about the project will help a bit too.
    I work at a company that develops automation solutions. We program PLC's and SCADA systems. Now Siemens has some PLC's that support Java applets which make it possible to visualize industrial processes. Now i am trying to figure out if it is possible to start developing own java applets for visualisation in the future. Since most programmers here have no experience in any higher programming language i want to keep it as simple as possible, by developing libraries that do the most of the programming work for them.
    Now i want to create the first part of this library by programming some kind of storage tank. This tank always has a valve. when i click on the valve a popup should open with the operation button to open of close that valve. When a valve is opened it should be colored green and when its closed it should be colored gray or something. The Tank class has a couple of methods:
    drawTank(); to draw the tank in my applet,
    openValve(); to open the Valve,
    closeValve(); to close the Valve,
    After all this is created i want to be able to use this class in all my other classes and create a tank by simple making a new Tank object, draw it on my applet using the drawTank() method and open or close the Valve using the other 2 methods, however when i open or close the Valve the color of the valve should change so i must be able to call the repaint of all the classes that use my Tank class, but i want to do that INSIDE my Tank class.
    If there is another way of doing this i would love to hear so, but i would help me a lot if you can explain in a little bit of sample code. It doesn't have to be really long or detailed.
    Thnx in advance

  • JNI calls to other classes

    hey Folks.
    Is there any way for me to make callbacks into Java to a class other then the one I invoked my native methods from?
    I know how to make callbacks to the class I connected to my DLL from, but I'm looking for a way to access other classes that I have instantiated,
    Thanks for the help,
    Richard

    I would suggest you to use a callback interface, stating the standard call back functions.
    Write a small interface yourself.
    The objects you wish to call back on should have "the methods" u want to call back.
    Either u can decide on a call back function name as u wish to, or by implementing an interface.
    In the native method you want to callback to a java object, in the signature, pass a ref to object of this type.
    say interface is ICallBack;
    native void myAsynchNativeMethod(ICallBack theCallBack, arg1, arg2.. );
    or else
    native void myAsynchNativeMethod(Object theCallBack, arg1, arg2.. );
    the third argument in the native functions native code should be the ref to the object on which u will invoke the call back.
    cheers

  • Calling methods from other classes

    I have a bunch of little java files in a folder, do I need to make a package in order to access all the methods in all the classes, or can I just make an instance of any of the methods because all the classes are in the same folder?

    HI,
    If your methods have a "public" modifier (and the class does too) then you can instantiate your classes as objects from that (so-called) "default" package in any other class or object in any other package and then call the methods on those instantiated objects as you please.
    If that sounds confusing... I'd seriously try the excellent tutorials at this site, especially "the java tutorial".
    /k1

  • Calling a variable from main class to other class

    How do I call a variable that is initialize in the Test.java into Sub.java?
    I want to call the a, b, c that I have initialize in Test.java into Sub.java.
    import java.util.*;
    import java.lang.*;
    import java.awt.*;
    public class Test{
         public static void main(String args[]){
              int b;
              int c=1;
              int a=11;
              b = c + a;
              System.out.println(+b);
    import java.util.*;
    import java.lang.*;
    import java.awt.*;
    public class Sub{
         public void Subtraction(){
              if(a>c)
                   b = a-c;
              else if(c>a)
                   b = c-a;
              else if(a=c)
                   b = a-c;
              System.out.println(+b);
    }

    This is, and I'm sorry but I don't know how else to say this, a real big mess.
    I'll go through some (most/all) of it but honestly....
    import java.awt.*;Many will tell you that you should use specific imports and not wildcards to increase ease of reading. I am not so personally picky about this but it would help you.
    import java.awt.event.*;
    import javax.swing.*;
    import java.util.*; Don't import things you never use. It just adds confusion get rid of java.util import
    import java.lang.Object.*;Redundant. Remove it.
    import java.applet.Applet.*;Unused. get rid of it
    public class SUBOK {      Terrible class name. Please use the standard [_Java naming conventions_|http://java.sun.com/docs/codeconv/html/CodeConventions.doc8.html]
    public int a = 10;
        public static void main(String[] args) {
             SUBOK runGUI = new SUBOK();
        public SUBOK(){
             JFrame f = new JFrame("Subok");
             f.setSize(150,100);
             f.setVisible(true);
             f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
             JButton b = new JButton("Sum");
             b.setActionCommand("send");
             b.addActionListener(new Push());
             JPanel p = new JPanel();
             p.add(b);
             f.add(p);
        } Most of that is okay although not great. But I don't think you should be doing anything in Swing at all yet.
      private class Push implements ActionListener{
             public void actionPerformed(ActionEvent e){
                  if(e.getActionCommand().equals("send")){
                       int a = 12;You are aware that this a has nothing to do with your other a? right? I mean this is a method local variable in a whole other class then the other one.
                           Add i = new Add();
                           i.Add();                
        public int aValue(){
             return a;
    } Alrighty then...
    import java.lang.*;Redundant. Remove You never need to import java.lang.
    import java.awt.*;Unused. remove.
    import java.util.*;Unused remove.
    public class Add {
         SUBOK a = new SUBOK();
         int d = a.aValue(); Aiaiaiai.
      public void Add() {
             int b;
             int c = 0;
             b = d+c;
             System.out.println(b);
    }First of all do not name a method the same as a class. Second most of this class appears to be based mainly in the realm of wishful thinking. In programming, wishing that something will "just work" without understanding the basics of why and how it works does, pretty much 100% of the time, not end well.
    You need to take a number of steps back from this code, get grounded in some fundamentals and then make another attempt. I would highly recommend putting the Swing (or any other GUI) code aside for some time now. Inter-object communication is a fundamental part of OO and thus a fundamental part of Java and this code clearly shows that you don't understand it yet at all.
    Start here [_Learning The Java Language_|http://java.sun.com/docs/books/tutorial/java/index.html]
    If you have questions as you go through the tutorial do come back and ask them and someone here will be glad to help you. But in order to help you with code you have to be at a point where you understand things like variable scope, the difference between a class and an Object and how, why and what methods can be used to exchange information between two instances.

  • ProgressMonitor in thred, call from other class

    Hi all
    I have a problem using the ProgressMonitor... I just want to update the progress from another class.
    So what i was thinking was:
    I could implement a method that invoked the thread, and thereby updating the progress.
    The problem occurs when the calculating steps is going. The parent class calls ProgressDiff fine but it doesn't update it, it doesn't even show anything. Just when the task is finished it says, simulation done!!
    I have tried searching alot on these forums, and on google, but all methods implementing progressmonitor uses a call from within the class. <- Not what I want. :=)
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.beans.*;
    public class ProgressDiff extends JFrame {
        public ProgressMonitor progressMonitor;
         public int tll;
        public ProgressDiff(int maks, String set) {
              super("Progress");
              setSize(250, 100);
            progressMonitor = new ProgressMonitor(null,
                                      "Differentiere og l�ser\n" + set,
                                      "", 0, maks);
            progressMonitor.setProgress(0);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              setProgressTal(0, false);
              setLocationRelativeTo(null);
              setVisible(true);
        public void setProgressTal(int fremGang, boolean done) {
              tll = fremGang;
              SwingUtilities.invokeLater(new Update());
              if (done) {
                   Toolkit.getDefaultToolkit().beep();
                   JOptionPane.showMessageDialog(null,
                        "Simuleringen er f�rdig."
                        , "F�rdig",
                        JOptionPane.INFORMATION_MESSAGE);
         class Update implements Runnable {
            public void run() {
                   if (progressMonitor.isCanceled()) {
                   Toolkit.getDefaultToolkit().beep();
                   JOptionPane.showMessageDialog(null,
                        "Simuleringen er f�rdig."
                        , "F�rdig",
                        JOptionPane.INFORMATION_MESSAGE);
                   } else {
                        progressMonitor.setProgress(tll);
                        progressMonitor.setNote(String.format("Completed %d%%.\n", tll));
    }Any help would be apreciable!!
    Thx.

    Thx for the reply, I now have a working Progressmonitor which i easily can control
    import java.awt.Toolkit;
    import javax.swing.ProgressMonitor;
    *  Use of a ProgressMonitor. This class implements an easy to use progressmonitor for use in other classes.
    * @author     Nick Andersen
    * @created    4. marts 2008
    * @version    1.00
    public class ProgressMonitorSetup {
         private ProgressMonitor progressMonitor;
         private String title;
         private int min;
         private int progress;
         private int max;
         private String note;
         private String complete;
         private String cancel;
         private String completeTotal;
          * Constructor af ProgressMonitorSetup
         public ProgressMonitorSetup() {
              title = "K�rsel af langt job";
              min = 0;
              max = 100;
              complete = "Fremgang: ";
              cancel = "Job afbrudt.";
              completeTotal = "Job f�rdigt.";
              note = "";
          * Constructor af ProgressMonitorSetup
          * @param  title          The title in Progressmonitor
          * @param  min            The minimum value in the progressmonitor
          * @param  max            The maximum value in the progressmonitor
          * @param  complete       Beskrivelse af Parameteren
          * @param  completeTotal  Beskrivelse af Parameteren
          * @param  cancel         Beskrivelse af Parameteren
         public ProgressMonitorSetup(String title, int min, int max, String complete, String completeTotal, String cancel) {
              this.title = title;
              this.min = min;
              this.progress = min;
              this.max = max;
              this.complete = complete;
              this.completeTotal = completeTotal;
              this.cancel = cancel;
              note = "";
          *  S�tter title attributten af ProgressMonitorSetup object
          * @param  title  Den nye title v�rdi
         public void setTitle(String title) {
              this.title = title;
          *  S�tter minimum attributten af ProgressMonitorSetup object
          * @param  min  Den nye minimum v�rdi
         public void setMinimum(int min) {
              this.min = min;
          *  S�tter maximum attributten af ProgressMonitorSetup object
          * @param  max  Den nye maximum v�rdi
         public void setMaximum(int max) {
              this.max = max;
          *  S�tter runningComplete attributten af ProgressMonitorSetup object
          * @param  complete  Den nye runningComplete v�rdi
         public void setRunningComplete(String complete) {
              this.complete = complete;
          *  S�tter complete attributten af ProgressMonitorSetup object
          * @param  completeTotal  Den nye complete v�rdi
         public void setComplete(String completeTotal) {
              this.completeTotal = completeTotal;
          *  S�tter cancel attributten af ProgressMonitorSetup object
          * @param  cancel  Den nye cancel v�rdi
         public void setCancel(String cancel) {
              this.cancel = cancel;
          *  Returnere cancel attributten af ProgressMonitorSetup object
          * @return    cancel v�rdi
         public String getCancel() {
              return cancel;
          *  Returnere done attributten af ProgressMonitorSetup object
          * @return    done v�rdi
         public boolean isDone() {
              if (progress >= max) {
                   progressMonitor.close();
                   return true;
              } else {
                   return false;
          *  METODEN
         public void close() {
              progressMonitor.close();
          *  METODEN
         public void initProgressMonitor() {
              progressMonitor = new ProgressMonitor(null,
                   title, note,
                   min, max);
              progressMonitor.setMillisToDecideToPopup(100);
              progressMonitor.setMillisToPopup(100);
              progressMonitor.setProgress(min);
          *  S�tter progress attributten af ProgressMonitorSetup object
          * @param  i  Den nye progress v�rdi
          * @return    Beskrivelse af den Returnerede V�rdi
         public String setProgressMessage(int i) {
              progress = i;
              progressMonitor.setProgress(progress);
              note = complete + progress + " af " + max;
              progressMonitor.setNote(note);
              if (progressMonitor.isCanceled() || isDone()) {
                   Toolkit.getDefaultToolkit().beep();
                   if (progressMonitor.isCanceled()) {
                        progress = max++;
                        return cancel;
                   } else {
                        return completeTotal;
              return note;
          *  S�tter progress attributten af ProgressMonitorSetup object
          * @param  i  Den nye progress v�rdi
         public void setProgress(int i) {
              progress = i;
              progressMonitor.setProgress(progress);
              note = complete + progress + " af " + max;
              progressMonitor.setNote(note);
              if (progressMonitor.isCanceled() || isDone() ) {
                   Toolkit.getDefaultToolkit().beep();
                   if (progressMonitor.isCanceled()) {
                        progress = max++;
                   } else {
    }Sry about the comment, and the danish... But this works really nice, if you place the swingworker around the method needing progressmonitor.

  • Class to call other exe

    hello!
    can i create a java program that can call other .exe file???
    how????
    thanks.

    Try this:
    Runtime.getRuntime().exec("rundll32
    url.dll,FileProtocolHandler " filename);Worked very well for me. It's like double-clicking a
    file in explorer. Don't know if it works with an exe
    though...try it ;-)I wouldn't recommend that way. If you're trying to "run" a ".doc" file - that isn't a process. A process is a .exe file, such as Word.exe (or whatever MS Word's application executable is). Let the shell handle it:
    Runtime.getRuntime().exec("cmd.exe /C start " + filename);
    where filename is a path to a .doc file, for example.
    And no, there's no way from pure Java to automate the child process such as making it insert text. You'd need to program against COM (Microsoft's Component Object Model) to do that, which you can do with a 3rd-party Java-to-COM bridge (search the net for "Java COM bridge" for starters). And you'd have to know Word's COM API.

  • How to call a class file in a jsp without deploying anything in j2ee

    Hi,
    I am new in J2EE. I have some jsps, which I configured using web.properties(documentroot=c:/jsp/). I am able to get
    those pages by the web browser. I have some import statements in some jsps, now I
    am trying to access those page but it is failing, it says
    org.apache.jasper.JasperException: Unable to compile class for
    JSPD:\j2sdkee1.3\repository\pradip\web\_0002fLogin_0002ejspLogin_jsp_0.java:1:
    Class com.gui.UPMGuiGlobalConstants not found in import.
    import com.gui.UPMGuiGlobalConstants;
    Actually I have not deployed any class file or jsps.. Now my question is can I access
    these jsps without deploying anything, like can I put my .jar file in any j2ee
    directory(like lib or anywhere else, I already tried after putting in /lib) and restart the
    j2ee and use it. So how can I call a class file from a jsp without any kind of
    deployment?
    Please send me the reply as soon as possible.
    Regds,
    Pradip

    After you put the jar containing the class to import into the WEB-INF/lib directory, you still need to include it in the jsp.
    Putting the jar into the lib dir, will make it available to the vm, but as in any other java class, you still need to import it into the class, that the jsp will be compiled into.
    And you do that by putting
    <%@page import="com.gui.UPMGuiGlobalConstants" %>somewhere near the top of your jsp. (well you don't need to put it there, but it good style ;)
    That should do it.

  • How can I call the Class and have a PDF appear in seperate window?.

    I would like to call the class/interface ZCL_UIU_PRN_ACCOUNT2, method Collect_data and have a Smartform executed to produce a PDF document in a Seperate window.
    Where I have an issue is in opening another window to display the PDF.
    I know the Standard PDF Facsheet does exactly this, but that is triggered via the Web browser and calls a Java script, avoiding and events and round-server trip processing. I would have changed the button values so that when pressed it does process the various events and eventually ends up at EH_ONPREVIEW for the BP_HEAD/Overview. I know just need to open a new window and call the process to create the PDF via Smartform.
    Any suggestions would be more than welcome. I have spent so much time on this, and have gained no real ground, so far.
    Jason

    Hi,
    in the method
    data: zcontrol TYPE SSFCTRLOP.
    zcontrol-device = 'PRINTER'.
    zcontrol-langu = sy-langu.
    zcontrol-no_dialog = 'X'.
    zcontrol-getotf = 'X'.
    data: job type SSFCRESCL.
    data: devtype type RSPOPTYPE.
    CALL FUNCTION 'SSF_GET_DEVICE_TYPE'
    EXPORTING
    i_language = sy-langu
    IMPORTING
    e_devtype = devtype
    EXCEPTIONS
    no_language = 1
    language_not_installed = 2
    no_devtype_found = 3
    system_error = 4
    OTHERS = 5.
    data: output_options type SSFCOMPOP.
    output_options-tdprinter = devtype.
    call function FM_NAME
    EXPORTING
    *   ARCHIVE_INDEX              =
    *   ARCHIVE_INDEX_TAB          =
    *   ARCHIVE_PARAMETERS         =
       CONTROL_PARAMETERS         = zcontrol
    *   MAIL_APPL_OBJ              =
    *   MAIL_RECIPIENT             =
    *   MAIL_SENDER                =
       OUTPUT_OPTIONS             = output_options
    *   USER_SETTINGS              = 'X'
    IMPORTING
    *   DOCUMENT_OUTPUT_INFO       =
       JOB_OUTPUT_INFO            = job
    *   JOB_OUTPUT_OPTIONS         =
      TABLES
        t_texto                    = t_texto
      EXCEPTIONS
        FORMATTING_ERROR           = 1
        INTERNAL_ERROR             = 2
        SEND_ERROR                 = 3
        USER_CANCELED              = 4
        OTHERS                     = 5.
    if sy-subrc <> 0.
    endif.
    data: DOCTAB_ARCHIVE type TABLE OF DOCS,
    LINES type TABLE OF TLINE.
    *CALL FUNCTION 'CONVERT_OTF_2_PDF'
    ** EXPORTING
    **   USE_OTF_MC_CMD               = 'X'
    **   ARCHIVE_INDEX                =
    ** IMPORTING
    **   BIN_FILESIZE                 =
    *  TABLES
    *    otf                          = job-otfdata
    *    doctab_archive               = doctab_archive
    *    lines                        = lines
    * EXCEPTIONS
    *   ERR_CONV_NOT_POSSIBLE        = 1
    *   ERR_OTF_MC_NOENDMARKER       = 2
    *   OTHERS                       = 3
    data:  l_pdf_len type i,
    l_pdf_xstring type XSTRING.
    CALL FUNCTION 'CONVERT_OTF'
    EXPORTING
    format = 'PDF'
    IMPORTING
    bin_filesize = l_pdf_len
    bin_file = l_pdf_xstring
    TABLES
    otf = job-otfdata
    lines = lines
    EXCEPTIONS
    err_max_linewidth = 1
    err_format = 2
    err_conv_not_possible = 3
    err_bad_otf = 4
    OTHERS = 5.
    IF sy-subrc is initial.
    DATA: cached_response TYPE REF TO cl_http_response.
    CREATE OBJECT cached_response
    EXPORTING add_c_msg = 1.
    l_pdf_len = XSTRLEN( l_pdf_xstring ).
    cached_response->set_data( data = l_pdf_xstring
    length = l_pdf_len ).
    cached_response->set_header_field(
    name = if_http_header_fields=>content_type
    value = 'application/pdf' ).
    cached_response->if_http_response~set_status( code = 200
    reason = 'OK' ).
    cached_response->if_http_response~server_cache_expire_rel(
    expires_rel = 180 ).
    data guid type GUID_32.
    CALL FUNCTION 'GUID_CREATE'
    IMPORTING
    ev_guid_32 = guid.
    data display_url type string.
    CONCATENATE url '/' guid '.pdf' INTO
    display_url.
    cl_http_server=>server_cache_upload( url = display_url
    response = cached_response ).
    *GV_DISPLAY_URL & GV_PRINTON are class attributes
    CLEAR: gv_display_url, gv_printon.
    MOVE display_url TO gv_display_url.
    gv_printon = 'X'.
    ENDIF.
    Send me you e-mail i cannot post the code that is used in the view.htm.
    Best Regards,
    Caíque Escaler
    Edited by: Caíque Escaler on Nov 26, 2010 5:00 PM

  • Calling a class's method from another class

    Hi, i would like to know if it's possible to call a Class's method and get it's return from another Class. This first Class doesn't extend the second. I've got a Choice on this first class and depending on what is selected, i want to draw a image on the second class witch is a Panel extended. I put the control "if" on the paint() method of the second class witch is called from the first by the repaint() (first_class.repaint()) on itemStateChanged(). Thankx 4 your help. I'm stuck with this.This program is for my postgraduation final project and i'm very late....

    import java.awt.*;
    import java.sql.*;
    * This type was generated by a SmartGuide.
    class Test extends Frame {
         private java.awt.Panel ivjComboPane = null;
         private java.awt.Panel ivjContentsPane = null;
         IvjEventHandler ivjEventHandler = new IvjEventHandler();
         private Combobox ivjCombobox1 = null;
    class IvjEventHandler implements java.awt.event.WindowListener {
              public void windowActivated(java.awt.event.WindowEvent e) {};
              public void windowClosed(java.awt.event.WindowEvent e) {};
              public void windowClosing(java.awt.event.WindowEvent e) {
                   if (e.getSource() == Test.this)
                        connEtoC1(e);
              public void windowDeactivated(java.awt.event.WindowEvent e) {};
              public void windowDeiconified(java.awt.event.WindowEvent e) {};
              public void windowIconified(java.awt.event.WindowEvent e) {};
              public void windowOpened(java.awt.event.WindowEvent e) {};
         private Panel ivjPanel1 = null;
    * Combo constructor comment.
    public Test() {
         super();
         initialize();
    * Combo constructor comment.
    * @param title java.lang.String
    public Test(String title) {
         super(title);
    * Insert the method's description here.
    * Creation date: (11/16/2001 7:48:51 PM)
    * @param s java.lang.String
    public void conexao(String s) {
         try {
              Class.forName("oracle.jdbc.driver.OracleDriver");
              String url = "jdbc:oracle:thin:system/[email protected]:1521:puc";
              Connection db = DriverManager.getConnection(url);
              //String sql_str = "SELECT * FROM referencia";
              Statement sq_stmt = db.createStatement();
              ResultSet rs = sq_stmt.executeQuery(s);
              ivjCombobox1.addItem("");
              while (rs.next()) {
                   String dt = rs.getString(1);
                   ivjCombobox1.addItem(dt);
              db.close();
         } catch (SQLException e) {
              System.out.println("Erro sql" + e);
         } catch (ClassNotFoundException cnf) {
    * connEtoC1: (Combo.window.windowClosing(java.awt.event.WindowEvent) --> Combo.dispose()V)
    * @param arg1 java.awt.event.WindowEvent
    /* WARNING: THIS METHOD WILL BE REGENERATED. */
    private void connEtoC1(java.awt.event.WindowEvent arg1) {
         try {
              // user code begin {1}
              // user code end
              this.dispose();
              // user code begin {2}
              // user code end
         } catch (java.lang.Throwable ivjExc) {
              // user code begin {3}
              // user code end
              handleException(ivjExc);
    * Return the Combobox1 property value.
    * @return Combobox
    /* WARNING: THIS METHOD WILL BE REGENERATED. */
    private Combobox getCombobox1() {
         if (ivjCombobox1 == null) {
              try {
                   ivjCombobox1 = new Combobox();
                   ivjCombobox1.setName("Combobox1");
                   ivjCombobox1.setLocation(30, 30);
                   // user code begin {1}
                   this.conexao("select * from referencia");
                   // user code end
              } catch (java.lang.Throwable ivjExc) {
                   // user code begin {2}
                   // user code end
                   handleException(ivjExc);
         return ivjCombobox1;
    * Return the ComboPane property value.
    * @return java.awt.Panel
    /* WARNING: THIS METHOD WILL BE REGENERATED. */
    private java.awt.Panel getComboPane() {
         if (ivjComboPane == null) {
              try {
                   ivjComboPane = new java.awt.Panel();
                   ivjComboPane.setName("ComboPane");
                   ivjComboPane.setLayout(null);
                   getComboPane().add(getCombobox1(), getCombobox1().getName());
                   getComboPane().add(getPanel1(), getPanel1().getName());
                   // user code begin {1}
                   // user code end
              } catch (java.lang.Throwable ivjExc) {
                   // user code begin {2}
                   // user code end
                   handleException(ivjExc);
         return ivjComboPane;
    * Return the ContentsPane property value.
    * @return java.awt.Panel
    /* WARNING: THIS METHOD WILL BE REGENERATED. */
    private java.awt.Panel getContentsPane() {
         if (ivjContentsPane == null) {
              try {
                   ivjContentsPane = new java.awt.Panel();
                   ivjContentsPane.setName("ContentsPane");
                   ivjContentsPane.setLayout(new java.awt.BorderLayout());
                   getContentsPane().add(getComboPane(), "Center");
                   // user code begin {1}
                   // user code end
              } catch (java.lang.Throwable ivjExc) {
                   // user code begin {2}
                   // user code end
                   handleException(ivjExc);
         return ivjContentsPane;
    * Return the Panel1 property value.
    * @return Panel
    /* WARNING: THIS METHOD WILL BE REGENERATED. */
    private Panel getPanel1() {
         if (ivjPanel1 == null) {
              try {
                   ivjPanel1 = new Panel();
                   ivjPanel1.setName("Panel1");
                   ivjPanel1.setBackground(java.awt.SystemColor.scrollbar);
                   ivjPanel1.setBounds(24, 118, 244, 154);
                   // user code begin {1}
                   // user code end
              } catch (java.lang.Throwable ivjExc) {
                   // user code begin {2}
                   // user code end
                   handleException(ivjExc);
         return ivjPanel1;
    * Called whenever the part throws an exception.
    * @param exception java.lang.Throwable
    private void handleException(java.lang.Throwable exception) {
         /* Uncomment the following lines to print uncaught exceptions to stdout */
         // System.out.println("--------- UNCAUGHT EXCEPTION ---------");
         // exception.printStackTrace(System.out);
    * Initializes connections
    * @exception java.lang.Exception The exception description.
    /* WARNING: THIS METHOD WILL BE REGENERATED. */
    private void initConnections() throws java.lang.Exception {
         // user code begin {1}
         // user code end
         this.addWindowListener(ivjEventHandler);
    * Initialize the class.
    /* WARNING: THIS METHOD WILL BE REGENERATED. */
    private void initialize() {
         try {
              // user code begin {1}
              // user code end
              setName("Combo");
              setLayout(new java.awt.BorderLayout());
              setSize(460, 300);
              setTitle("Combo");
              add(getContentsPane(), "Center");
              initConnections();
         } catch (java.lang.Throwable ivjExc) {
              handleException(ivjExc);
         // user code begin {2}
         // user code end
    * Insert the method's description here.
    * Creation date: (11/17/2001 2:02:58 PM)
    * @return java.lang.String
    public String readCombo() {
         String dado = ivjCombobox1.getSelectedItem();
         return dado;
    * Starts the application.
    * @param args an array of command-line arguments
    public static void main(java.lang.String[] args) {
         try {
              /* Create the frame */
              Test aTest = new Test();
              /* Add a windowListener for the windowClosedEvent */
              aTest.addWindowListener(new java.awt.event.WindowAdapter() {
                   public void windowClosed(java.awt.event.WindowEvent e) {
                        System.exit(0);
              aTest.setVisible(true);
         } catch (Throwable exception) {
              System.err.println("Exception occurred in main() of Test");
              exception.printStackTrace(System.out);
    * Insert the type's description here.
    * Creation date: (11/17/2001 1:59:15 PM)
    * @author:
    class Combobox extends java.awt.Choice {
         public java.lang.String dado;
    * Combobox constructor comment.
    public Combobox() {
         super();
         initialize();
    * Called whenever the part throws an exception.
    * @param exception java.lang.Throwable
    private void handleException(java.lang.Throwable exception) {
         /* Uncomment the following lines to print uncaught exceptions to stdout */
         // System.out.println("--------- UNCAUGHT EXCEPTION ---------");
         // exception.printStackTrace(System.out);
    * Initialize the class.
    /* WARNING: THIS METHOD WILL BE REGENERATED. */
    private void initialize() {
         try {
              // user code begin {1}
              // user code end
              setName("Combobox");
              setSize(133, 23);
         } catch (java.lang.Throwable ivjExc) {
              handleException(ivjExc);
         // user code begin {2}
         // user code end
    * main entrypoint - starts the part when it is run as an application
    * @param args java.lang.String[]
    public static void main(java.lang.String[] args) {
         try {
              java.awt.Frame frame = new java.awt.Frame();
              Combobox aCombobox;
              aCombobox = new Combobox();
              frame.add("Center", aCombobox);
              frame.setSize(aCombobox.getSize());
              frame.addWindowListener(new java.awt.event.WindowAdapter() {
                   public void windowClosing(java.awt.event.WindowEvent e) {
                        System.exit(0);
              frame.setVisible(true);
         } catch (Throwable exception) {
              System.err.println("Exception occurred in main() of Combobox");
              exception.printStackTrace(System.out);
    * Insert the type's description here.
    * Creation date: (11/17/2001 2:16:11 PM)
    * @author:
    class Panel extends java.awt.Panel {
    * Panel constructor comment.
    public Panel() {
         super();
         initialize();
    * Panel constructor comment.
    * @param layout java.awt.LayoutManager
    public Panel(java.awt.LayoutManager layout) {
         super(layout);
    * Called whenever the part throws an exception.
    * @param exception java.lang.Throwable
    private void handleException(java.lang.Throwable exception) {
         /* Uncomment the following lines to print uncaught exceptions to stdout */
         // System.out.println("--------- UNCAUGHT EXCEPTION ---------");
         // exception.printStackTrace(System.out);
    * Initialize the class.
    /* WARNING: THIS METHOD WILL BE REGENERATED. */
    private void initialize() {
         try {
              // user code begin {1}
              // user code end
              setName("Panel");
              setLayout(null);
              setSize(260, 127);
         } catch (java.lang.Throwable ivjExc) {
              handleException(ivjExc);
         // user code begin {2}
         // user code end
    * main entrypoint - starts the part when it is run as an application
    * @param args java.lang.String[]
    public static void main(java.lang.String[] args) {
         try {
              java.awt.Frame frame = new java.awt.Frame();
              Panel aPanel;
              aPanel = new Panel();
              frame.add("Center", aPanel);
              frame.setSize(aPanel.getSize());
              frame.addWindowListener(new java.awt.event.WindowAdapter() {
                   public void windowClosing(java.awt.event.WindowEvent e) {
                        System.exit(0);
              frame.setVisible(true);
         } catch (Throwable exception) {
              System.err.println("Exception occurred in main() of java.awt.Panel");
              exception.printStackTrace(System.out);
    * Insert the method's description here.
    * Creation date: (11/17/2001 2:18:36 PM)
    public void paint(Graphics g) {
    /* Here's the error:
    C:\Test.java:389: non-static method readCombo() cannot be referenced from a static context
         System.out.println(Test.lerCombo());*/
         System.out.println(Test.readCombo());

Maybe you are looking for