Class help - simple q?

Suppose I have three classes- Class 1, class 2 and class 3. Class 1 is the main class. Class 1 creates an object of class 2. Class 2 creates an object of class 3. Class 3 wishes to have a fileChooser dialog box disaplyed which requires the parent component to be called (ie, the frame in which the dialogue should appear.). However, this component is in class 1. How do I tell it to use the frame and set sizes from the main class (Class 1)?
Please Please try to help - I'm really stuck!!

Well, presumably the action starts with some kind of action in Class 1, which calls a method in class 2 which calls on in class three. You can add a reference to class 1 to each level of call as an extra argument.
Alternatively you can add a constructor to classes 2 and 3 which stores a reference to class1 when you create new instances. Actually all classes have a construtor, if you don't specify one the compiler creates on with no arguments.

Similar Messages

  • Calling a function from another class - help!

    I realize that this is probably a basic thing for people who have been working with JavaFX for a while, but it is eluding me, and I have been working on it for over a week.
    I need to call a function that is in another class.  Here's the deal.  In EntryDisplayController.java, there are 2 possible passwords that can be accepted - one will give full access to the car, the second will limit functions on the car.  So when a password is entered and verified as to which one it is, I need to call a function in MainDisplayController.java to set a variable that will let the system know which password is being used - full or restricted.
    So in MainDisplayController.java I have this snippet to see
    public class MainDisplayController implements Initializable, ControlledScreen {
        ScreensController myController;
        public static char restrict;
         * Initializes the controller class.
        @Override
        public void initialize(URL url, ResourceBundle rb) {
            // TODO
        public void setRestriction(){
            restrict = 0;
            restrictLabel.setText("RESTRICTED");
        public void clearRestriction(){
            restrict = 1;
            restrictLabel.setText("");
    And in EntryScreenDisplay.java I have this snippet:
    public class EntryDisplayController implements Initializable, ControlledScreen {
         @FXML
        private Label passwordLabel ;
        static String password = new String();
        static String pwd = new String("");
         ScreensController myController;
         private MainDisplayController controller2;
         * Initializes the controller class.
        @Override
        public void initialize(URL url, ResourceBundle rb) {
            setPW(pwd);    // TODO
         @FXML
        private void goToMainDisplay(ActionEvent event){
            if(password.equals ("123456")){
              controller2.clearRestriction();
               myController.setScreen(ScreensFramework.MainDisplayID);
               pwd = "";
               password = "";
               setPW(pwd);
            else if(password.equals ("123457")){
               controller2.setRestriction();
                myController.setScreen(ScreensFramework.MainDisplayID);
               pwd = "";
               password = "";
               setPW(pwd);
            else{
                password = "";
                pwd = "";
                setPW(pwd);
    When I enter the restricted (or full) password, I get a long list of errors, ending with
    Caused by: java.lang.NullPointerException
      at velocesdisplay.EntryDisplayController.goToMainDisplay(EntryDisplayController.java:60)
    Line 60 is where "controller2.setRestriction(); is.
    As always, thanks for any help.
    Kind regards,
    David

    You never set the controller2 variable to anything, which is why you get a null pointer exception when you try to reference it.
    public static variables (and even singletons) are rarely a good idea as they introduce global state (sometimes they can be, but usually not).
    If a static recorder like this can only have a binary value, use a boolean, if it can have multiple values, use an enum.
    Some of the data sharing solutions in dependency injection - Passing Parameters JavaFX FXML - Stack Overflow might be more appropriate.
    I also created a small framework for roll based solutions in JavaFX which perhaps might be useful:
    http://stackoverflow.com/questions/19666982/is-there-a-way-to-implement-a-property-like-rendered-on-javafx
    https://gist.github.com/jewelsea/7229260
    It was just something I hacked together, so it's not a fully polished solution and you probably don't need something quite so complex.
    What you need is a model class shared between the components of your application.  Dependency injection frameworks such as afterburner.fx can help achieve this in a fairly simple to use way.
    If you don't want to go with a dependency injection framework, then you could use either a static singleton model class for your settings or pass the model class using the mechanism in defined in the passing parameters link I provided.  For a model class example, see the ClickCounter class from this example.   That example doesn't use FXML, but to put it together with the passing parameters solution, for your restriction model, you would have something like the following:
       private class Restricted {
         private final ReadOnlyBooleanWrapper restricted;
         public Restricted(boolen isRestricted) {
           restricted = new ReadOnlyBooleanWrapper(isRestricted);  
         public boolean isRestricted() {
           return restricted.get();
         public ReadOnlyBooleanProperty restrictedProperty() {
           return restricted.getReadOnlyProperty();
    Then in your EntryDisplayController you have:
    @FXML
    public void goToMainDisplay(ActionEvent event) {
         // determine the restriction model as per your original code...
         RestictionModel restrictionModel = new RestrictionModel(<appropriate value>);
      FXMLLoader loader = new FXMLLoader(
      getClass().getResource(
       "mainDisplay.fxml"
      Stage stage = new Stage(StageStyle.DECORATED);
      stage.setScene(
       new Scene(
         (Pane) loader.load()
      MainDisplayController controller =
        loader.<MainDisplayController>getController();
      controller.initRestrictionModel(restrictionModel);
      stage.show();
    class MainDisplayController() {
      @FXML private RestrictionModel restrictionModel;
      @FXML private RestrictLabel restrictLabel;
      public void initialize() {}
      // naming convention (if the restriction model should only be set once per controller, call the method init, otherwise call it set).
      public void initRestrictionModel(RestrictionModel restrictionModel) {
        this.restrictionModel = restrictionModel;
         // take some action based on the new restriction model, for example
        restrictLabel.textProperty.bind(
          restrictionModel.restrictedProperty().asString()
    If you have a centralized controller for your navigation and instantiation of your FXML (like in this small FXML navigation framework), then you can handle the setting of restrictions on new screens centrally within the framework at the point where it loads up FXML or navigates to a screen (it seems like you might already have something like this with your ScreensController class).
    If you do this kind of stuff a lot, then you would probably benefit from a move to a framework like afterburner.  If it is just a few times within your application, then perhaps something like the above outline will give you enough guidance to implement a custom solution.

  • Exception class help

    Hi,
    i create exception class like it write in the sap help and when i want to send the exception with parameters to the ABOVE METHODS i don't susses  i just get the message without the parameter ?
    there is simple guideline how o transfer the exception with parameters?
    br
    Ricardo

    HI Uwe,
    Thanks,
    This is my sample code:
    This is the first method on the tree:
    the method name is create .
    INSERT (lt_table_name) FROM <ls_obj>.
        IF sy-subrc <> 0.
          RAISE EXCEPTION TYPE /cx_db_db_error
            EXPORTING
              textid     = cx_db_error=>create_failed
              table_name = lt_table_name.
        ENDIF.
    this method call to the above method - create .
    TRY.
            CALL METHOD lo_obj_create->create
              CHANGING
                is_bound_object = ls_obj_user.
          CATCH cx_db_error INTO lo_exc.
            "Create user failed. Throw an exception.
            RAISE EXCEPTION TYPE cx_db_error
              EXPORTING
                textid     = cx_db_error=>create_user_error
                previous   = lo_exc.
            result = lo_exc->get_text( ).
        ENDTRY.
    here in result i just get the massage without the table name that i export in the first method ,what i miss here ?
    Best Regards
    Ricardo

  • Trying to understand methods - calling methods within own class - help

    I'm trying to write a simple program to search for letters in a string. I'm having a ton op problems; java seems so complicated with a lot of rules.
    The main problem I'm having (for now) is calling a method within the same class as main.
    import java.io.*;
    class LookForLetters{
        public static void main(String[] args)
         int i = 0;     
         int j = 0;
         int l = 0;
         int m = 0;
         String question1 = "Enter the line to be searched"; 
         String question2 = "Enter the line to be searched";       
         returnResponse stringtosearch = new returnResponse(question1); // here's where my problem is
            char[] chartosearch = stringtosearch.toCharArray();
         returnResponse letterstofind = new returnResponse(question2);
            char[] chartofind = letterstofind.toCharArray();     
         int findlength = chartosearch.length();
         int searchlength = chartofind.length();
         int[] k = new int[searchlength];
         for(i = 0; i < findlength; i++)
             for(j = 0; j < searchlength; j++)   
              if(chartosearch[i] == chartofind[j])
                  k[l] = i;
                  l++;
                  System.out.print("T");
             System.out.print(i + " " + l);
                if(l == 0)
                    System.out.print(chartofind[i] + " is the not in the sentence.");
                    System.out.println();       
                else
                    System.out.print(chartofind[i] + " is the ");
                 for(m = 0; m < l; m++)
                     System.out.print(k[l] + " ");
                    System.out.print("letter of your sentence");
                    System.out.println();
                    l = 0;
        public String returnResponse(String question){
         String response = " ";
         System.out.print(question);
         try
             InputStreamReader isr = new InputStreamReader(System.in);
                BufferedReaderbr = new BufferedReader(isr);
             response = br.readLine();            
         catch(IOException e)
             System.out.print("error");
         return response;
    }The compiler says that it can't find the returnResponse method. when I try to instantiate the whole class, it says the package is not included. Please help.

    JoachimSauer wrote:
    DaneWKim wrote:
    thank you very much for your response. I'm sure it's obvious that I'm really confused. I'm used to C and assembly programming, so the OO concepts are really foggy.That particular line doesn't even deal with any OO concept. But the fact that you already know C helps me give a (hopefully) more useful answer:
    What is the return type of the method you're trying to call?
    What is the type of the variable you want to assign the return value to?
    Are those compatible? Or even more general: do they both exist?I changed it to:
            String stringtosearch = returnResponse(question1);
            char[] chartosearch = stringtosearch.toCharArray();
         String letterstofind = returnResponse(question2);
            char[] chartofind = letterstofind.toCharArray();I guess I'm getting confused with medthods, class and types. There's a whole host of new vocabulary and rules with OO and java that have me a bit confused. I appreciate your help.

  • Beginner needs help, simple do-while

    Need some help whit this code, how can I get this do-while loop to work?
    I use a simple gui where a decimal number is been read in, and some calculations beeing done.
    I want the user to decide if he/she wants to exit or not.
    But I dont now how I shall use it when using the boolean type.
    Tanks in advance.
    I'm sorry about my bad english!
    import mittBibliotek.*;
    class nettopris{
         static final double moms = 1.24;
         static final double rabatt = .85;
         public static void main (String[] args){
              do{
                   JavabokGUI gui = new JavabokGUI("Legger til moms");
                   gui.show();
                   double pris = gui.lesDesimaltall("","Skriv inn nettopris: ");
                   if (pris>2000){
                        double rabattPris=bergenNypris(pris);
                        double brutto = beregnBruttopris(rabattPris);
                        double rabattbel?p= beregnRabbattBel?p(pris,rabattPris);
                        gui.skrivResultater("Nettopris - 15% rabatt : " +rabattPris);
                        gui.skrivResultater("Prisen inkl. mva : " +brutto);
                        gui.skrivResultater("Rabatt bel?pet er : " +rabattbel?p);
                        gui.skrivResultater("Mva bel?pet er : "+beregnMvabel?p(brutto,rabattPris));
                   }else{
                        double brutto= beregnBruttopris(pris);
                        double avrundetPris= avrunding(brutto);
                        gui.skrivResultater("Prisen inkl mva (avrundet): " +avrundetPris);
                        gui.skrivResultater("Mva bel?pet er (avrundet): " +beregnMvabel?p(avrundetPris,pris));
                   }// end if else
                   boolean svar = gui.jaSvar("","Ny beregning? ");// GUI  yes/no.Where yes is true.If true looping until false
    }while  (svar == true) ;// error: cannot resolve symbol, variabel svar
         }// main
         static double beregnBruttopris(double prisen){
              double brutto= prisen * moms;
              return brutto;
         }//Brutto
         static double avrunding(double bruttopris){
              int avrundet= (int) (bruttopris + 0.5);
              return avrundet;
         }// Avrundet
         static double bergenNypris(double nyprisen){
              nyprisen = nyprisen * rabatt;
              return nyprisen;
         }// Nyprisen
         static double beregnRabbattBel?p(double pris, double rabatt){
              double rabbel?p = pris - rabatt;
              return rabbel?p;
         }// Rabatt bel?p
         static double beregnMvabel?p(double brutton, double rabattPrisen){
              double mvaBel?p = brutton - rabattPrisen;
              return mvaBel?p;
         }// Mvabel?p
    } // class nettopris

    If your only problem is with the variable svar, just put a line:
    boolean svar = true;before the "do" line and change the line:
    boolean svar = gui.jaSvar("","Ny beregning? ");to:
    svar = gui.jaSvar("","Ny beregning? ");Your problem has to do with variable scope. Since you declare the variable svar inside the braces {} of the do loop, it doesn't exist for the while test.

  • AS 3 Tween Class help

    I could really use some help. I'm using AS 3 and am creating a simple vertical menu where 6 buttons reside. When any of the buttons is clicked it takes you to specific frame label. On each frame label I have some actionscript that once arrived at will animate a small triangle along the y axis to rest next to the button the user has just clicked. I am trying to use the Tween Class to aminate the small triangle. Here is what I have so far:
    import fl.transitions.Tween;
    import fl.transitions.easing.*;
    var arrowTween:Tween = new Tween(arrow_mc, "y", Regular.easeOut, 20, 80, 2, true);
    The var created assigns the triangle a new end position. Here's where I need help. In the example above the 20 is the starting position and what I need is something that says whatever the current (this) position value is move to the desired end position value, which is 80 in the example.
    I'm up late trying to figure this one out. Any help or ideas to lead me in the right direction is greatly appreciated.

    Craig,
    Thanks for the help. I really appreciate it. However, I'm still having a bit of trouble. When I put in "current arrow_mc" I get syntax errors in the compiler errors box.
    1084: Syntax error: expecting rightparen before arrow_mc. 
    Here is the code I have put in:
    stop();
    import fl.transitions.Tween;
    import fl.transitions.easing.*;
    var arrowTween:Tween = new Tween(arrow_mc, "y", Elastic.easeOut, current arrow_mc.y, 39.5, 1, true);
    Any ideas?
    Mike

  • *****Please Help Simple Java Corba Problem*****

    This is probably a really simple one but I am very cheased off about it.
    I run my applications on a Win XP pro OS, and when I go to type in nameserv it gives me the following error I hava downloaded and installed JDK 1.4.1. I also have the JRE, And jbuilder personal edition ver 8.....And J2RE 1.4.1
    C:\Documents and Settings\Ash>nameserv
    Exception in thread "main" java.lang.NoClassDefFoundError: java/util/HashSet
    at com.inprise.vbroker.orb.ORB.<init>(ORB.java:81)
    at org.omg.CORBA.ORB.create_impl(ORB.java)
    at org.omg.CORBA.ORB.init(ORB.java)
    at com.inprise.vbroker.naming.ExtFactory.main(ExtFactory.java:126)
    my classpath looks like this
    .;C:\VisualCafePDETrial\BIN\COMPONENTS\SYMBEANS.JAR;C:\VisualCafePDETrial\JAVA\LIB\CLASSES.ZIP;C:\VisualCafePDETrial\JAVA\LIB;C:\BES\bin;C:\j2sdk1.4.1\lib\tools.jar;.;
    and my path is
    C:\VisualCafePDETrial\BIN;C:\VisualCafePDETrial\JAVA\BIN;C:\BES\binC:\j2sdk1.4.1\lib\tools.jar;.;
    what on earth am I doing wrong ??
    Also when I goto compile any java program it comes up with the following
    C:\DOCprac\Prac5\bank_naming>vbmake
    Building the bank_agent example ...
    Exception in thread "main" java.lang.ClassCastException
    at com.visigenic.vbroker.tools.idl2java.main(idl2java.java:30)
    Symantec Java! JustInTime Compiler Version 3.00.021(i) for JDK 1.1.x (TRIAL VER)
    Copyright (C) 1996-98 Symantec Corporation
    compiling: Client.java
    Client.java:2: Package org.omg.CORBA not found in import.
    import org.omg.CORBA.*;
    ^
    Client.java:3: Package org.omg.CosNaming not found in import.
    import org.omg.CosNaming.*;
    ^
    2 errors
    Symantec Java! JustInTime Compiler Version 3.00.021(i) for JDK 1.1.x (TRIAL VER)
    Please help I am really desperate to sort this one out. Can you give me some detailed info on how I would do this.>>>Thanx in advance

    You have 2 sets of errors, at least.
    The first is : Exception in thread "main" java.lang.NoClassDefFoundError: java/util/HashSet which is that you have not imported the class for hashset.
    The second is that the import of the jars is probably wrong, hard to say without seeing code.

  • Please help (Simple chat programme)

    I made a simple chat programme.
    It has a server object and it can handle several client.
    It is working properly and can use to chat.
    I have some problems. can you please help me.
    1.What is the best method to read input and outputStreams
    I have used inputStream.readUTF()/outputStream.writeUTF() methods and
    also I have used bufferedReader.readLine()/Printwriter.println() methods.
    I don't know about other methods.So please tell me what is the best and new out of these two.
    And are there any method which is better than these two.
    2.Is there any way to get more details from input and output streams
    Here more details means Fontcolor,Size etc;
    by now I'm adding them in to my output streams and filtering them when rea input stream.
    I'm getting other details(Fontcolor,Size) and add them all to a string.
    that means if client type "hi" my string will be something like this
    "12ff0000hi".
    When read the input stream i make a char[] and take first 2 chars to integer next six to a string and rest
    to another string.
    I think now you can understand my concept. So I'll not tell every thing.(if you want i can fully describe it)
    I' feeling this is very bad way to do that kind of work.
    Am i correct?
    so can you give me some hints or examples to do such kind of things.

    Here's a simple DataInputStream program that talks to itself. It runs the server as a seperate thread.
    import java.io.*;
    import java.net.*;
    public class DataXfer
            private int port = 5050;
            private String address="127.0.0.1";
            public static void main(String args[])
                    new DataXfer().startup();
            // run the server code as a thread and then run the client code
            private void startup()
                    new Thread(new Runnable(){public void run(){listen();}}).start(); // start server thread
                    synchronized(this){
                            try{wait();}catch(InterruptedException ie){}    // wait until its ready
                    connect();                                      // do client stuff     
            private void listen()
                    ServerSocket ss = null;
                    Socket us = null;
                    boolean running = true;
                    try{
                            System.out.println("Listening on port "+port);
                            synchronized(this){notify();}               // tell client we're ready
                            ss = new ServerSocket(port);    // listen for incoming connection
                            us = ss.accept();
                            ss.close();
                            ss = null;
                            DataInputStream dis = new DataInputStream(us.getInputStream());
                            try{
                                    while(running){
                                            int len = dis.readShort();      // read the count
                                            byte [] ba = new byte[len];
                                            int rlen = dis.read(ba,0,len);  // read the data
                                            System.out.println("len="+len+" read length="+rlen);
                                            if(rlen < len){
                                                    us.close();
                                                    running = false;
                                            else{
                                                    for(int j = 0; j<rlen; j++)System.out.print(ba[j]+" ");
                                                    System.out.println("");
                            catch(EOFException ee){System.out.println("EOF");}
                    catch(IOException ie){
                            ie.printStackTrace();
                            System.exit(0);
                    finally{
                            if(ss != null)try{ss.close();}catch(IOException se){}
                            if(us != null)try{us.close();}catch(IOException ue){}
            private void connect()
                    Socket us=null;
                    byte [] ba = new byte[31];
                    for(byte i = 0; i<ba.length; i++)ba=i;
    try{
    System.out.println("Connecting to "+address+":"+port);
    us = new Socket(address, port); // make connection
    System.out.println("Connected");
    DataOutputStream dos = new DataOutputStream(us.getOutputStream());
    for(int j = 0; j<ba.length;j+=10){
    dos.writeShort(j); // write the count
    dos.write(ba,0,j); // write the data
    System.out.println("sent "+j+" bytes");
    try{Thread.sleep(1000);}catch(InterruptedException ie){}
    catch(IOException ie){ie.printStackTrace();}
    finally{
    if(us != null)try{us.close();}catch(IOException ue){}
    For an example of a chat program using NIO see my NIO Server Example. That example is neither short nor simple.

  • Tomcat cannot find .class -- help!

    I've a simple jsp question related to Tomcat. The test.jsp file is as follows:
    <html>
    <head>
    <title> hello there </title>
    <body>
    <h2> hello there </h2>
    <%
    hellothere h=new hellothere();
    h.sayworld();
    %>
    </body>
    </html>
    My question is: where should I place hellothere.java and hellothere.class? I have tried placing them under
    $CATALINA_HOME/webapps/mystuff/WEB-INF/classes and the jsp page under $CATALINA_HOME/webapps/mystuff and invoke from the browser http://localhost:8080/mystuff/test.jsp.
    I know the answer has to be very obvious for the experts. Please help!

    You know, I always thought it was optional, but apparently it's required. It's really a combination of two separate problems.
    First, your class file must be part of a package.
    Second, the import statement must start with the package name.
    There are many acceptable package naming conventions, but for this example, I will use what Sun Microsystems recommends, however much I disagree with it. At the very top of hellothere.java, add the line:
    package com.murthy64.hello;
    You may substitute "murthy64" with whatever nickname you'd like. The intent is to pick a name that's not likely to conflict with a third party software package, for example anything under com.sun is from Sun, and com.ibm is from IBM. Yes, com.microsoft is also reserved.
    Recompile the hellothere.java.
    On the Tomcat Server, create the com directoy under the webapps/mystuff/WEB-INF/classes directory. Create the murthy64 directory under that newly created com directory. Then create the hello directory. Your full path at this point should end in WEB-INF/classes/com/murthy64/hello.
    Place the hellothere.class file in that hello directory.
    In the JSP page, change the page import statement to read:
    <%@ page import="com.murthy64.hello.*" %>
    Then it should work. Please correct me if I'm wrong. I'm also suggesting that you get into the habit of using the wildcard there so that if you create additional classes, you can put them in the same package (by adding the package statement), drop them into that hello directory, and the JSP page will automatically find them all.
    Yes, this is a really cumbersome way of doing it, and there are shortcuts you can take, but let's get this much working first.

  • Calling arraylist from another class - help please!!

    Hey, I need some help calling my arraylist from my GUI class, as the arraylist is in the 'AlbumList' class and not in the 'GUI' class i get the error 'cannot find symbol', which is pretty obvious but i cannot figure how to get around this problem. help would be greatly appreciated.
    i have written ***PROBLEM*** next to the bad line of code!
    Thanks!!
    public class Album
        String artist;
        String title;
        String genre;
        public Album(String a, String t, String g)
            artist = a;
         title = t;
            genre = g;
         public String getArtist()
            return artist;
        public String getTitle()
            return title;
         public String getGenre()
            return genre;
    public class AlbumList
        public ArrayList <Album> theAlbums;
        int pointer = -1;
        public AlbumList()
            theAlbums = new ArrayList <Album>();
        public void addAlbum(Album newAlbum)
         theAlbums.add(newAlbum);
    import java.util.*;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class GUI extends JFrame
        public int max = 5;
        public int numAlbums = 4;
        public int pointer = -1;
        public GUI ()
            super("Recording System");
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            JPanel main = new JPanel();
            JPanel panel1 = new JPanel();
            panel1.setLayout(new GridLayout(3,2,0,0));
            JPanel panel2 = new JPanel();
            panel2.setLayout(new GridLayout(1,2,20,0));
            final JLabel artistLBL = new JLabel("Artist: ");
            final JLabel titleLBL = new JLabel("Title: ");
            final JLabel genreLBL = new JLabel("Genre: ");
            final JTextField artistFLD = new JTextField(20);
            final JTextField titleFLD = new JTextField(20);
            final JTextField genreFLD = new JTextField(20);
            final JButton nextBTN = new JButton("Next");
            nextBTN.addActionListener(new ActionListener()
                public void actionPerformed(ActionEvent e)
                    pointer++;
                    artistFLD.setText(theAlbums.get(pointer).getArtist());       ***PROBLEM***
                    titleFLD.setText("NEXT");
                    genreFLD.setText("NEXT");
            final JButton prevBTN = new JButton("Prev");
            prevBTN.addActionListener(new ActionListener()
                public void actionPerformed(ActionEvent e)
                    pointer--;
                    artistFLD.setText("PREVIOUS");
                    titleFLD.setText("PREVIOUS");
                    genreFLD.setText("PREVIOUS");
         panel1.add(artistLBL);
            panel1.add(artistFLD);
            panel1.add(titleLBL);
            panel1.add(titleFLD);
            panel1.add(genreLBL);
            panel1.add(genreFLD);
            panel2.add(prevBTN);
            panel2.add(nextBTN);
            main.add(panel1);
            main.add(panel2);
            setVisible(true);
            this.getContentPane().add(main);
            setSize(500, 500);
    -----------------------------------------------------------------------Thanks!!
    Edited by: phreeck on Nov 3, 2007 8:55 PM

    thanks, it dosnt give me a complication error but when i press the button it says out of bounds error, and i think my arraylist may be empty possibly even though i put this data in.. this is my test file which runs it all.
    any ideas? thanks!!
    public class Test
        public static void main(String []args)
            AlbumList a = new AlbumList();
            String aArtist = "IronMaiden";
            String aTitle = "7thSon";
            String aGenre = "HeavyMetal";
            Album newA = new Album(aArtist, aTitle, aGenre);
            a.addAlbum(newA);
            aArtist = "LambOfGod";
            aTitle = "Sacrament";
            aGenre = "Metal";
            Album newB = new Album(aArtist, aTitle, aGenre);
            a.addAlbum(newB);
            aArtist = "JohnMayer";
            aTitle = "Continuum";
            aGenre = "Guitar";
            Album newC = new Album(aArtist, aTitle, aGenre);
            a.addAlbum(newC);
            aArtist = "StillRemains";
            aTitle = "TheSerpent";
            aGenre = "Metal";
            Album newD = new Album(aArtist, aTitle, aGenre);
            a.addAlbum(newD);
         GUI tester = new GUI();
    }

  • At a loss need some help simple share permission problem

    OSX Server 10.4.8 stand alone none AD (none ACL)
    All current updates applied.
    Since reinstalling the server software to current version (complete format reinstall) the existing raid volume is refusing to allow a simple shared folder with inherit permission to allow the assigned group to have r/w access when a user creates a folder in the volume.
    So volume shared set owner r/w usergrp r/w
    user creates a folder permissions become owner r/w grp (usergrp) r
    So I mount a firewire drive to the server and set the same permissions as above to a folder on that volume and hey presto when a user saves a new folder in inherits the permission as owner r/w and group (usergrp) r/w
    So any ideas what is stopping this raid volume allowing the same permissions to work I am at a loss (it worked before reinstall and update to current version)
    Help!

    OSX Server 10.4.8 stand alone none AD (none ACL)
    All current updates applied.
    Since reinstalling the server software to current version (complete format reinstall) the existing raid volume is refusing to allow a simple shared folder with inherit permission to allow the assigned group to have r/w access when a user creates a folder in the volume.
    So volume shared set owner r/w usergrp r/w
    user creates a folder permissions become owner r/w grp (usergrp) r
    So I mount a firewire drive to the server and set the same permissions as above to a folder on that volume and hey presto when a user saves a new folder in inherits the permission as owner r/w and group (usergrp) r/w
    So any ideas what is stopping this raid volume allowing the same permissions to work I am at a loss (it worked before reinstall and update to current version)
    Help!

  • JSP does not have visibility of java classes in simple Web Module Project

    Dear Experts
    I am developing what I thought would be a very simple Web Module Project for a simple webservice
    to allow a user to logon to Netweaver Portal with a simple logon and password.
    I have not done this in over 8 years, and am somewhat rusty.
    The webservice is package in  a .war and is deployed via an Enterprise Application project as a .ear.
    The issue I am having is that I want to enhance the presentation of the webservice through the
    provision of css and adding a couple of images. The "libraries" are visibile in the build path of web
    module project.
    At the top of my .jsp for logon form I want to import some java libraries in order
    to get String webpath = componentRequest.getWebResourcePath()"/":
    <%@ page session = "true"%>
    <%@ page import = "com.sapportals.portal.prt.resource.IResource" %>
    <%@ page import="com.sap.security.core.sapmimp.logon.SAPMLogonLogic" %>
    <%@ page import="com.sap.security.core.sapmimp.logon.SAPMLogonCertLogic" %>
    <%@ page import="com.sap.security.core.logonadmin.IAccessToLogic" %>
    <%@ page import="com.sap.security.core.logonadmin.ComponentAccessToLogic" %>
    <%  IAccessToLogic proxy = new ComponentAccessToLogic (componentRequest, aResponse, IAccessToLogic.ENV_LOGONCOMPONENT);
    final boolean inPortal = true;
    String webpath = componentRequest.getWebResourcePath()"/";
    // todo: find layout schema...
    aResponse.addResource(componentRequest.getResource(IResource.CSS, "css/main2.css"));
    %>
    However, during runtime the libraries are unknown and I get the following SAPJ2 EE errors
    indicating the methods etc are not known to the jsp:
    Full Message Text
    application [ctxhrofm] Processing HTTP request to servlet [jsp] finished with error.
    The error is: com.sap.engine.services.servlets_jsp.server.jsp.exceptions.CompilingException: Error while executing the compilation rocess: [/usr/sap/SQ1/JC20/j2ee/cluster/server3/apps/com.shell/sp~ctxhroap/servlet_jsp/ctxhrofm/work/jsp_LoginForm1310122356593.java22: package com.sapportals.portal.prt.resource does not exist
    import com.sapportals.portal.prt.resource.IResource;
                                              ^
    /usr/sap/SQ1/JC20/j2ee/cluster/server3/apps/com.shell/sp~ctxhroap/servlet_jsp/ctxhrofm/work/jsp_LoginForm1310122356593.java:23: package com.sap.security.core.sapmimp.logon does not exist
    import com.sap.security.core.sapmimp.logon.SAPMLogonLogic;
                                              ^
    /usr/sap/SQ1/JC20/j2ee/cluster/server3/apps/com.shell/sp~ctxhroap/servlet_jsp/ctxhrofm/work/jsp_LoginForm1310122356593.java:24: package com.sap.security.core.sapmimp.logon does not exist
    import com.sap.security.core.sapmimp.logon.SAPMLogonCertLogic;
                                              ^
    /usr/sap/SQ1/JC20/j2ee/cluster/server3/apps/com.shell/sp~ctxhroap/servlet_jsp/ctxhrofm/work/jsp_LoginForm1310122356593.java:25: package com.sap.security.core.logonadmin does not exist
    import com.sap.security.core.logonadmin.IAccessToLogic;
                                            ^
    /usr/sap/SQ1/JC20/j2ee/cluster/server3/apps/com.shell/sp~ctxhroap/servlet_jsp/ctxhrofm/work/jsp_LoginForm1310122356593.java:26: package com.sap.security.core.logonadmin does not exist
    import com.sap.security.core.logonadmin.ComponentAccessToLogic;
                                            ^
    /usr/sap/SQ1/JC20/j2ee/cluster/server3/apps/com.shell/sp~ctxhroap/servlet_jsp/ctxhrofm/work/jsp_LoginForm1310122356593.java:60: cannot resolve symbol
    symbol  : class IAccessToLogic
    location: class jsp_LoginForm1310122356593
    IAccessToLogic proxy = new ComponentAccessToLogic (componentRequest, aResponse, IAccessToLogic.ENV_LOGONCOMPONENT);
                              ^
    /usr/sap/SQ1/JC20/j2ee/cluster/server3/apps/com.shell/sp~ctxhroap/servlet_jsp/ctxhrofm/work/jsp_LoginForm1310122356593.java:60: cannot resolve symbol
    symbol  : class ComponentAccessToLogic
    location: class jsp_LoginForm1310122356593
    IAccessToLogic proxy = new ComponentAccessToLogic (componentRequest, aResponse, IAccessToLogic.ENV_LOGONCOMPONENT);
                                                        ^
    /usr/sap/SQ1/JC20/j2ee/cluster/server3/apps/com.shell/sp~ctxhroap/servlet_jsp/ctxhrofm/work/jsp_LoginForm1310122356593.java:60: cannot resolve symbol
    symbol  : variable componentRequest
    location: class jsp_LoginForm1310122356593
    IAccessToLogic proxy = new ComponentAccessToLogic (componentRequest, aResponse, IAccessToLogic.ENV_LOGONCOMPONENT);
                                                                                ^
    /usr/sap/SQ1/JC20/j2ee/cluster/server3/apps/com.shell/sp~ctxhroap/servlet_jsp/ctxhrofm/work/jsp_LoginForm1310122356593.java:60: cannot resolve symbol
    symbol  : variable aResponse
    location: class jsp_LoginForm1310122356593
    IAccessToLogic proxy = new ComponentAccessToLogic (componentRequest, aResponse, IAccessToLogic.ENV_LOGONCOMPONENT);
                                                                                    ^
    /usr/sap/SQ1/JC20/j2ee/cluster/server3/apps/com.shell/sp~ctxhroap/servlet_jsp/ctxhrofm/work/jsp_LoginForm1310122356593.java:60: cannot resolve symbol
    symbol  : variable IAccessToLogic
    location: class jsp_LoginForm1310122356593
    IAccessToLogic proxy = new ComponentAccessToLogic (componentRequest, aResponse, IAccessToLogic.ENV_LOGONCOMPONENT);
                                                                                    ^
    /usr/sap/SQ1/JC20/j2ee/cluster/server3/apps/com.shell/sp~ctxhroap/servlet_jsp/ctxhrofm/work/jsp_LoginForm1310122356593.java:63: cannot resolve symbol
    symbol  : variable componentRequest
    location: class jsp_LoginForm1310122356593
    String webpath = componentRequest.getWebResourcePath()"/";
                    ^
    /usr/sap/SQ1/JC20/j2ee/cluster/server3/apps/com.shell/sp~ctxhroap/servlet_jsp/ctxhrofm/work/jsp_LoginForm1310122356593.java:66: cannot resolve symbol
    symbol  : variable IResource
    location: class jsp_LoginForm1310122356593
    aResponse.addResource(componentRequest.getResource(IResource.CSS, "css/main2.css"));
                                                      ^
    /usr/sap/SQ1/JC20/j2ee/cluster/server3/apps/com.shell/sp~ctxhroap/servlet_jsp/ctxhrofm/work/jsp_LoginForm1310122356593.java:66: cannot resolve symbol
    symbol  : variable componentRequest
    location: class jsp_LoginForm1310122356593
    aResponse.addResource(componentRequest.getResource(IResource.CSS, "css/main2.css"));
                          ^
    /usr/sap/SQ1/JC20/j2ee/cluster/server3/apps/com.shell/sp~ctxhroap/servlet_jsp/ctxhrofm/work/jsp_LoginForm1310122356593.java:66: cannot resolve symbol
    symbol  : variable aResponse
    location: class jsp_LoginForm1310122356593
    aResponse.addResource(componentRequest.getResource(IResource.CSS, "css/main2.css"));
    ^
    14 errors
    Exception id: [0019996862AA007E00000436000077FB0004A78CA1BA8324]
    I have added the associated DCs for classes to used DCs and they are visible on the buildpath
    of my webservice.
    What am I missing?
    Many thanks for any advice offered
    Mike

    Have you made runtime references to used libraries...?
    refer page 20 ...in
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/60d99678-1a29-2d10-94b4-9d9a67b7199b?quicklink=index&overridelayout=true

  • Help - Simple mask not working in Flash CS4

    Hi everyone,
    Thanks for taking a minute to read my post.
    I am creating a very simple mask using motion tweening. I created some text on a layer and made it a masked layer. Then I created a mask layer which consists of a circle that will span across the text. When I play the movie the circle does not show up at all in the frames the mask layer spans (it's purple on a black background) and the circle does not move across the text like I told it to with the motion tweening. I don't know why it's not working. For some reason the circle isn't showing on the stage at all and it's not moving across the text. I don't know if I have it set up wrong on the timeline or what. Here's the steps I followed to create the mask:
    1.insert a new layer in which I named it mask and click frame 1 on this layer
    2. select the oval tools on the tools panel and set the stroke to none
    3. set the fill color to purple
    4. draw a circle and click the selection tool and drag a marquee around the circle to select it.
    5. click insert on the menu bar, click motion tween then click ok in dialog box about converting it to a symbol to be tweened
    6. click the last frame in the mask layer and drag the circle to the end of the line of text
    7.click mask on the timeline to select the mask layer, click modify on the menu bar, point to timeline then click layer properties
    8. verify the show check box is selected in the name section, click the lock check box to select it, click the mask option button in he type section, then click ok.
    9. play the movie in which the circle object covers the text on the masked layer as it moves across the stage
    Thanks for your help!
    ashmic19

    Update 8-2-10: In play mode the text was still visible when it shouldn't be but once I tested the movie the mask worked correctly with the text. So problem solved
    -ashmic19
    Thanks for all who viewed this. I finally figured out why it wasn't working. I had the mask layer locked. But now the circle is moving across the text but the text is viewable when it shouldn't be until the circle moves across it. How come it's doing this?
    ashmic19
    Message was edited by: ashmic19
    Message was edited by: ashmic19

  • Preloader in Document Class Help.

    Hello,
    I want to know that how can I add a Preloader to my existing document class. In my FLA all content is on 1st Frame. I'm loading an external image to a MovieClip which is on 1st frame and on stage. My document class is working fine but when i try to add any preloading script, its not working...
    Can any one please help me in this regard..
    A Garden of Thanks.
    My Document Class is here...  (This was also a tutorial which I'm using..)
    package com.ahmad.bg
         //import all classes
         import caurina.transitions.Tweener;
         import flash.display.Loader;
         import flash.display.MovieClip;
         import flash.display.Sprite;
         import flash.display.StageAlign;
         import flash.display.StageDisplayState;
         import flash.display.StageScaleMode;
         import flash.events.Event;
         import flash.events.MouseEvent;
         import flash.net.URLRequest;
         public class MainClass extends MovieClip
              //create variables
              private var loader:Loader;
              private static const IMAGE_PATH:String = "bgs/bg.jpg";          
              public function MainClass() {
                   stage.align = StageAlign.TOP_LEFT;
                   stage.scaleMode = StageScaleMode.NO_SCALE;               
                   stage.addEventListener(Event.RESIZE, stageResize);          
                   //load external image
                   loader = new Loader();
                   loader.load(new URLRequest(IMAGE_PATH));
                   loader.contentLoaderInfo.addEventListener(Event.COMPLETE, showImage);
                   pic.addChild(loader);     
              private function showImage(e:Event):void
                   try {                              
                        e.target.content.alpha = 0;
                        Tweener.addTween(e.target.content, { alpha:1, time:1, transition:"easeOutSine" } );                    
                        e.target.content.smoothing = true;                              
                   } catch (e:Error) { };
                   stageResize();
              private function stageResize(e:Event=null):void
                   pic.x = 0;
                   pic.y = 0;
                   pic.scaleX = pic.scaleY = 1;               
                   if ((stage.stageHeight / stage.stageWidth) < pic.height / pic.width) {
                        pic.width = stage.stageWidth;
                        pic.scaleY = pic.scaleX;
                   } else {
                        pic.height = stage.stageHeight;                    
                        pic.scaleX = pic.scaleY;
                   pic.x = stage.stageWidth / 2 - pic.width / 2;
                   pic.y = stage.stageHeight / 2 - pic.height / 2;          
                   //my bottom navigation
                            bottomNav.x = Math.floor(stage.stageWidth / 2 - bottomNav.width / 2);
                   bottomNav.y = Math.floor(stage.stageHeight - bottomNav.height - 0);

    package com.ahmad.bg
         //import all classes
         import caurina.transitions.Tweener;
         import flash.display.Loader;
         import flash.display.MovieClip;
         import flash.display.Sprite;
         import flash.display.StageAlign;
         import flash.display.StageDisplayState;
         import flash.display.StageScaleMode;
         import flash.events.Event;
         import flash.events.MouseEvent;
         import flash.net.URLRequest;
         import flash.events.ProgressEvent;
         public class MainClass extends MovieClip
              //create variables
              private var loader:Loader;
              private static const IMAGE_PATH:String = "bgs/bg.jpg";          
              public function MainClass() {
                   stage.align = StageAlign.TOP_LEFT;
                   stage.scaleMode = StageScaleMode.NO_SCALE;               
                   stage.addEventListener(Event.RESIZE, stageResize);          
                   //load external image
                   loader = new Loader();
                   loader.load(new URLRequest(IMAGE_PATH));
                   loader.contentLoaderInfo.addEventListener(Event.COMPLETE, showImage);
                   loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, preload_image, false, 0, true);
                   private function preload_image(event:ProgressEvent):void
                          var per = int((event.bytesLoaded / event.bytesTotal) * 100);
                          pic.addChild(loader);
                          //make a textfield or preloader animation and assign this per to it.
              private function showImage(e:Event):void
                   try {                              
                        e.target.content.alpha = 0;
                        Tweener.addTween(e.target.content, { alpha:1, time:1, transition:"easeOutSine" } );                    
                        e.target.content.smoothing = true;                              
                   } catch (e:Error) { };
                   stageResize();
              private function stageResize(e:Event=null):void
                   pic.x = 0;
                   pic.y = 0;
                   pic.scaleX = pic.scaleY = 1;               
                   if ((stage.stageHeight / stage.stageWidth) < pic.height / pic.width) {
                        pic.width = stage.stageWidth;
                        pic.scaleY = pic.scaleX;
                   } else {
                        pic.height = stage.stageHeight;                    
                        pic.scaleX = pic.scaleY;
                   pic.x = stage.stageWidth / 2 - pic.width / 2;
                   pic.y = stage.stageHeight / 2 - pic.height / 2;          
                   //my bottom navigation
                   bottomNav.x = Math.floor(stage.stageWidth / 2 - bottomNav.width / 2);
                   bottomNav.y = Math.floor(stage.stageHeight - bottomNav.height - 0);
    Oh.. Thanks.. its working now... Thanks aloooooooooooooot.....
    Any other tip if you have a time to give me will be a greatful to you...
    Thanks again for your precious time.. I've seen your Awesome Portfolio at your website....

  • Stack class help

    hi i was wondering if anyone could help me, i keep getting 2 errors on the pop and push methods sayin it cannot find the variable.
    package labwork1;
    import java.util.*;
    * @author me
    public class Main
        public Main() {
        public static void main(String[] args)
          Stack stk = new Stack();
        public void help(String object)
            if(object.startsWith("-")){
                stk.pop();
            else{
                   stk.push(object);
    }

    ok i get that the scope of the stack is only in the
    main method, how would i solve this, so that the push
    and pop methods will work?Not sure what you are doing but:
    Declare it in the class as an instance variable.

Maybe you are looking for

  • Batch process to add Javascript to PDF files

    Hi All, I have written a small piece of Javascript for my PDF files. The idea is to add a date stamp to each page of the document before printing. To do this, I have added the following code to the "Document Will Print" action: for (var pageNumber =

  • How to change the default color of the selected row

    hi all, I need to know how to change the default color(yellow) of the selected row in a table component.whether i need to change anything in the stylesheet.If so, where should i make the changes in the stylesheet. thanks and regards, rpk

  • How do I add bulk emails to a group in Address Book?

    I'd love to figure out how to quickly capture a bulk emailing list and add all of them to an Address Book GROUP at once. This list would be either - In the TO: field - from an email I received - or - In the TO: field - of an email I am sending (reply

  • Incorrect music library file size after upgrading to itunes 7.1.1.5

    I was running itunes 7.0.2 and I have a 40gb click wheel IPOD (3rd Generation?). In itunes 7.0.2 my music library stats showed 7046 songs stored on 34.6 gb of disk space. Once I upgraded to itunes 7.1.1.5 and restarted itunes, my music library stats

  • How do I transfer photos from iPad to iMac?

    I want photos to transfer from ipad to iphoto on the imac so my photos are all in one main place. I've backed up once or twice and know that I have to have the ipad plugged into the mains and using wi-fi and launch itunes from the imac.  But after ba