Help with packages and classpath

Heya,
first off, i use textpad to compile my java, i don't do it via the command line.
my problem is faily simple, i think. i've got a main class and i'd like it to import a custom class from a subdir.
Main class is in
C:\Documents and Settings\David\Desktop\java\test_gen.java
I would like it to import
C:\Documents and Settings\David\Desktop\java\obj_data\objects.java
I understand that I have to declare objects.java to be a part of a package, so i head the code with: package obj_data; as i understand it, the directory in which the package to be imported resides in will be named the same as the package.
When i import my package into test_gen.java, i import obj_data as follows:
import obj_data.*;
this should import objects.class and any other classes in the same directory. also import obj_data.objects.*; could be used.
Anyway, thats my understanding of how you set up the class and package; i also understand that when the java file compiles the compiler looks at the directoy(s) indicated in the class path for the classes to import. that in mind i tried to add:
C:\Documents and Settings\David\Desktop\java\obj_data\
to my classpath. i did this via dos, javac -classpath "C:\Documents and Settings\David\Desktop\java\obj_data\"
i got no error messages, so i assume it worked. however when i try to compile the main java (test_gen) i get-
package packages does not exist
import packages.*;
^
1 error
Tool completed with exit code 1
can anyone give me some help please?

This is a minimal explanation of packages.
Assume that your programs are part of a package named myapp, which is specified by this first line in each source file:
package myapp;
Also assume that directory (C:\java\work\) is listed in the CLASSPATH list of directories.
Also assume that all your source files reside in this directory structure: C:\java\work\myapp\
Then a statement to compile your source file named aProgram.java is:
C:\java\work\>javac myapp\aProgram.java
Explanation:
Compiling
A class is in a package if there is a package statement at the top of the class.
The source file needs to be in a subdirectory structure. The subdirectory structure must match the package statement. The top subdirectory must be in the classpath directory.
So, you generate a directory structure C:\java\work\myapp\ which is the [classpath directory + the package subdirectory structure], and place aProgram.java in it.
Then from the classpath directory (C:\java\work\) use the command: javac myapp\aProgram.java
Running
Compiling creates a file, aProgram.class in the myapp directory.
(The following is where people tend to get lost.)
The correct name now, as far as java is concerned, is the combination of package name and class name: myapp.aProgram (note I omit the .class) If you don't use this name, java will complain that it can't find the class.
To run a class that's NOT part of a package, you use the command: java SomeFile (assuming that SomeFile.class is in a directory that's listed in the classpath)
To run a class that IS part of a package, you use the command java myapp.aProgram (Note that this is analogous to the command for a class not in a package, you just use the fully qualified name)

Similar Messages

  • Help with Packages and xml files

    I have a XML file that is read by the program that I want to add to my package.
    The package can be check out with a different name and different location each time, so how would I set up for my file to be read in by com.compname.project.lib.xml enstead of c:/dev/com/compname/project/lib.xml

            InputStream fis = null;
            BufferedInputStream bis = null;
            DataInputStream dis = null;
            String[] original = new String[3];
            //try {
                fis = this.getClass().getResourceAsStream("/c.s.p.b.i.t.c.c.xml");
                xmlpath = new File(is.toString());
                bis = new BufferedInputStream(xmlpath);
                dis = new DataInputStream(bis);
            //catch (FileNotFoundException e) {}
            try
                //parse the file
                DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
                DocumentBuilder db = dbf.newDocumentBuilder();
                Document doc = db.parse(fis);
                doc.getDocumentElement().normalize();
                NodeList nodeLst = doc.getElementsByTagName(Tag)Edited by: mferguson13 on Jan 28, 2009 6:58 AM

  • Problem with Class and Classpath

    Hello ME Windows Users, now before you place a wry smile on your face, I have a problem with path and classpath. Stop it, I can see you smiling!
    By visiting the the last 10 pages of the forum and reading Sun installation notes, some tooldocs and by given some answers by some nice people, I have become an expert in turning off my computer, about 10 times/hr. I still am trying to make my first cup of java.
    With the ME computer,
    I'm unable to right click on the desktop and go to properties, advanced,
    I'm unable to go go start, run, sysedit,
    I'm unable to change the ms-dos window of autoexec.bat, it just shuts down.
    Now before you tell me, I should of bought a different computer, the only place I can find to modify the path and classpath is in the environment which is in system configuration under tools. Here I have placed numerous configurations, like
    C:\java>set path=%path%;c:\j2sdk1.4.2\bin
    C:\java>set classpath=%classpath%;.;
    ;java_dir\bin where ;java_bin is c:\j2sdk1.4.2
    .; java_dir\bin; %path% where ;java_bin is c:\j2sdk1.4.2 and the list goes on.
    But, I know you are still smiling, the % signs comes up in a dialog box, saying too many, and will not convert the text to the environment to be saved when I close down for the tenth time in the last hour.
    Can someone help me before I make a real cup of coffee and accidentally drop it on the ME box.
    Have a laugh on me Mik.

    C:\java>set path=%path%;c:\j2sdk1.4.2\binGood
    But it is no good because it has to many % and a dialog box appears, saying you have too many parameters.
    Are you saying I have to shutdown again to answer your ?
    From the HELP menu-
    To confirm startup commands line by line
    Click Start, and then click Shut down.
    Click Restart, click OK, and then press and hold the CTRL key until the Windows Startup Menu appears.
    Enter the number for Step-by-step confirmation, and then press ENTER.
    For each command you want to run, press Y.
    If the command runs successfully, you are prompted with the next command.
    If the command does not run successfully, you receive an error message.
    To skip a command, press N.
    Mik

  • Help with writing and retrieving data from a table field with type "LCHR"

    Hi Experts,
    I need help with writing and reading data from a database table field which has a type of "LCHR". I have given an example of the original code but don't know what to change it to in order to fix it and still read in the original data that's stored in the LCHR field.
    Basically we have two Function modules, one that saves list data to a database table and one that reads in this data. Both Function modules have an identicle table which has an array of fields from type INT4, CHAR, and type P. The INT4 field is the first one.
    Incidentally this worked in the 4.7 non-unicode system but is now dumping in the new ECC6 Unicode system.
    Thanks in advance,
    C
    SAVING THE LIST DATA TO DB
    DATA: L_WA(800).
    LOOP AT T_TAB into L_WA.
    ZDBTAB-DATALEN = STRLEN( L_WA ).
    MOVE: L_WA to ZDBTAB-RAWDATA.
    ZDBTAB-LINENUM = SY-TABIX.
    INSERT ZDBTAB.
    READING THE DATA FROM DB
    DATA: BEGIN OF T_DATA,
                 SEQNR type ZDBTAB-LINENUM,
                 DATA type ZDBTAB-RAWDATA,
               END OF T_TAB.
    Select the data.
    SELECT linenum rawdata from ZDBTAB into table T_DATA
         WHERE repid = w_repname
         AND rundate = w_rundate
         ORDER BY linenum.
    Populate calling Internal Table.
    LOOP AT T-DATA.
    APPEND T_DATA to T_TAB.
    ENDLOOP.

    Hi Anuj,
    The unicode flag is active.
    When I run our report and then to try and save the list data a dump is happening at the following point
    LOOP AT T_TAB into L_WA.
    As I say, T_TAB consists of different fields and field types whereas L_WA is CHAR 800. The dump mentions UC_OBJECTS_NOT_CONVERTIBLE
    When I try to load a saved list the dump is happening at the following point
    APPEND T_DATA-RAWDATA to T_TAB.
    T_DATA-RAWDATA is type LCHR and T_TAB consists of different fields and field types.
    In both examples the dumps mention UC_OBJECTS_NOT_CONVERTIBLE
    Regards
    C

  • How to set packages and classpath

    Hi,
    I want to know about packages and classpath. I have these questions
    1, If I put a class in a package(work.util) is it necessary to put the java file in the same directory/directory hierarchy as mentioned in the package declaration. I have to compile this class, run it from main method and must be able for other classes to import.
    2. If a package have subpackages(work.util.db) do I have to set the classpath to subdirectory also to run that class.
    3. If a class is in package is it possible to run the class without prefixing the package name. I need to do this in the text editor so that I can run any program by pressing a hot key.
    rgds
    Antony Paul

    1, If I put a class in a package(work.util) is it
    necessary to put the java file in the same
    directory/directory hierarchy as mentioned in the
    package declaration.Strictly speaking, this isn't covered by the spec - it depends on what compiler and ClassLoader you are using. If you're using Sun's JDK, then yes.
    2. If a package have subpackages(work.util.db) do I
    have to set the classpath to subdirectory also to run
    that class. No. You should add the directory above work/util/db to your classpath. You should not add work, or work/util or work/util/db.
    E.g., if your Java files are in C:/MyProject/JavaSrc/work/util/db, and the package name is work.util.db, then you should have C:/MyProject/JavaSrc on your classpath (or have "." (dot) on your classpath, and compile and run from that same directory).
    3. If a class is in package is it possible to run the
    class without prefixing the package name. I need to do
    this in the text editor so that I can run any program
    by pressing a hot key.If you mean "in order to run work.util.db.Main do I need to type java work.util.db.Main, or just java Main", then you do indeed need the fully qualified class name (otherwise, how would the runtime environment know which class you mean? - there could be any number of classes called Main in any class, and it would have to search every directory and subdirectory on your classpath to find them.

  • Package and CLASSPATH

    Hi,
    I have a hard time understanding the package and CLASSPATH. I want to have a solid understanding of it. I read some tutorials online but didn't make me fully understand. How does declaring a package effect the CLASSPATH? Say I have following:
    (This is from one of the tutorial- http://home.cogeco.ca/~ve3ll/jatutor4.htm)
    C:\myclasses\world\moon\HelloMoon.java
    C:\myclasses\world\HelloWorld.java
    HelloMoon.java is defined as
    package world.moon;
    public class HelloMoon {
    private String holeName = "rabbit hole";
    public String getHoleName() {
    return holeName;
    public void setHole(String holeName) {
    this.holeName = holeName;
    public static void main(String[] args){
         HelloMoon moon = new HelloMoon();
         System.out.println(moon.getHoleName());
    HelloWorld is defined as
    package world;
    public class HelloWorld {
    public static void main(String[] args) {
    System.out.println("Hello World");
    if the CLASSPATH is set : set CLASSPATH=.;C:\myclasses;
    Once the CLASSPATH has been set (and compiled .java file); it can be called using the following from any path of directory:
    java world.HelloWorld
    java world.moon.HelloMoon
    But it does not explain the details why it works this way. Also, if I want to run it without using "world" prefix to run HelloWorld, what do I need to set up?
    also for the HelloMoon?
    When I tried running those classes by going to an appropriate directory, I got the noClassDefFound (using command like "java HelloWorld" or java "HelloMoon").
    Thanks in advance...

    [Javapedia: Classpath|http://wiki.java.net/bin/view/Javapedia/ClassPath]
    [How Classes are Found|http://java.sun.com/j2se/1.5.0/docs/tooldocs/findingclasses.html]
    [Setting the class path (Windows)|http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/classpath.html]
    [Setting the class path (Solaris/Linux)|http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/classpath.html]
    [Understanding the Java ClassLoader|http://www-106.ibm.com/developerworks/edu/j-dw-javaclass-i.html]
    java -cp .;<any other directories or jars> YourClassNameYou get a NoClassDefFoundError message because the JVM (Java Virtual Machine) can't find your class. The way to remedy this is to ensure that your class is included in the classpath. The example assumes that you are in the same directory as the class you're trying to run.
    javac -classpath .;<any additional jar files or directories> YourClassName.javaYou get a "cannot resolve symbol" message because the compiler can't find your class. The way to remedy this is to ensure that your class is included in the classpath. The example assumes that you are in the same directory as the class you're trying to run.

  • Help with count and sum query

    Hi I am using oracle 10g. Trying to aggregate duplicate count records. I have so far:
    SELECT 'ST' LEDGER,
    CASE
    WHEN c.Category = 'E' THEN 'Headcount Exempt'
    ELSE 'Headcount Non-Exempt'
    END
    ACCOUNTS,
    CASE WHEN a.COMPANY = 'ZEE' THEN 'OH' ELSE 'NA' END MARKET,
    'MARCH_12' AS PERIOD,
    COUNT (a.empl_id) head_count
    FROM essbase.employee_pubinfo a
    LEFT OUTER JOIN MMS_DIST_COPY b
    ON a.cost_ctr = TRIM (b.bu)
    INNER JOIN MMS_GL_PAY_GROUPS c
    ON a.pay_group = c.group_code
    WHERE a.employee_status IN ('A', 'L', 'P', 'S')
    AND FISCAL_YEAR = '2012'
    AND FISCAL_MONTH = 'MARCH'
    GROUP BY a.company,
    b.district,
    a.cost_ctr,
    c.category,
    a.fiscal_month,
    a.fiscal_year;
    which gives me same rows with different head_counts. I am trying to combine the same rows as a total (one record). Do I use a subquery?

    Hi,
    Whenever you have a problem, please post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) from all tables involved.
    Also post the results you want from that data, and an explanation of how you get those results from that data, with specific examples.
    user610131 wrote:
    ... which gives me same rows with different head_counts.If they have different head_counts, then the rows are not the same.
    I am trying to combine the same rows as a total (one record). Do I use a subquery?Maybe. It's more likely that you need a different GROUP BY clause, since the GROUP BY clause determines how many rows of output there will be. I'll be able to say more after you post the sample data, results, and explanation.
    You may want both a sub-query and a different GROUP BY clause. For example:
    WITH    got_group_by_columns     AS
         SELECT  a.empl_id
         ,     CASE
                        WHEN  c.category = 'E'
                  THEN  'Headcount Exempt'
                        ELSE  'Headcount Non-Exempt'
                END          AS accounts
         ,       CASE
                        WHEN a.company = 'ZEE'
                        THEN 'OH'
                        ELSE 'NA'
                END          AS market
         FROM              essbase.employee_pubinfo a
         LEFT OUTER JOIN  mms_dist_copy             b  ON   a.cost_ctr     = TRIM (b.bu)
         INNER JOIN       mms_gl_pay_groups        c  ON   a.pay_group      = c.group_code
         WHERE     a.employee_status     IN ('A', 'L', 'P', 'S')
         AND        fiscal_year           = '2012'
         AND        fiscal_month          = 'MARCH'
    SELECT    'ST'               AS ledger
    ,       accounts
    ,       market
    ,       'MARCH_12'          AS period
    ,       COUNT (empl_id)       AS head_count
    FROM       got_group_by_columns
    GROUP BY  accounts
    ,            market
    ;But that's just a wild guess.
    You said you wanted "Help with count and sum". I see the COUNT, but what do you want with SUM? No doubt this will be clearer after you post the sample data and results.
    Edited by: Frank Kulash on Apr 4, 2012 5:31 PM

  • MOVED: [Athlon64] Need Help with X64 and Promise 20378

    This topic has been moved to Operating Systems.
    [Athlon64] Need Help with X64 and Promise 20378

    I'm moving this the the Administration Forum.  It seems more apporpiate there.

  • Help with javac and packages

    Hi,
    I have a package and an application which uses the package
    The following is package :' il.ac.intprog.shapes'
    Shape.java
    Circle.java
    Point.java
    Polygon.java
    Rectangle.java
    RegularPolygon.java
    Triangle.java
    The following is an application which uses the package:
    package il.ac.intprog.viewer:
    Command.java
    CircleCommand.java
    CommandFactory.java
    CopyCommand.java
    MoveCommand.java
    PolygonCommand.java
    RectangleCommand.java
    RegularPolygonCommand.java
    TranslateCommand.java
    TriangleCommand.java
    RotateCommand.java
    ShapesApplication.java
    ShapesController.java
    ShapesModel.java
    ShapesView.java
    ParametersLine.java
    I need to create a batch file which create shapes.jar
    and than compile the viewer application
    I know how to create shapes.jar but i dont know how do i tell
    the viewer to use it while compiling?
    Thanks in advance.

    Ok this one works...sort of
    javac il\ac\intprog\shapes\*.java
    jar cf shapes.jar il\ac\intprog\shapes\*.class
    javac -classpath shapes.jar il\ac\intprog\viewer\*.java
    jar cvfm viewer.jar manifest.mf il\ac\intprog\viewer\*.class
    java il.ac.intprog.viewer.ShapesApplication -jar viewer.jar C:\\Java3\\shapes.txt
    pause
    i am passing C:\\Java3\\shapes.txt as a command line parameters
    and i expected this will be in arg[0] but i find it as args[2],
    (-jar is in o and viewer.jar is in 1)
    The java il.ac.telhai.intprog.viewer.ShapesApplication is the name of the class which contains the main function

  • Guess I do need a little help with packages after all...

    Tried figuring in this out for the past 3 hours, various searches, scenarios etc...b4 posting....
    Okay, well....just like many aspects of this language, think I've got it down, and a
    new situation comes up where I can't implement it....in this case my own packages.
    (which is frustrating, but good because teaches troubleshooting, ingranes
    things into my peanut)
    Have done it before through tutorials...but now am having an issue...here we go:
    These are very small files..... 3 classes/one main
    http://www.cadenhead.org/book/24java/chapter10.shtml
    (see bottom for direct links)
    What I did first was put them in c:\java\2\modems
    compiled them all, everthing works great.
    #2
    I deleted the class files, and put all of the source into: c:\java\2\
    #3
    I edited the first 3 files to have the very first line ot each say:
    package com.modempack;
    No other edits, just this simple copy/paste at the top of each of those files
    #4
    For the file TestModems.java the only edit made was to put the following line at the top of the file:
    import com.modempack;
    #5 Compiled the first 3 files with the command "javac -d . FILENAME.java"
    they compile fine(you have to compile Modem.java 1st)
    #6 Try to compile the TestModems.java file with the same style or even just "javac Testmodems.java" and get the following error:
    C:\java\2>javac TestModems.java
    TestModems.java:1: package com does not exist
    import com.modempack;
    ^
    TestModems.java:5: cannot access CableModem
    bad class file: .\CableModem.java
    file does not contain class CableModem
    Please remove or make sure it appears in the correct subdirectory of the classpa
    th.
    CableModem roadRunner = new CableModem();
    ^
    2 errors
    It says package "com" does not exist" ...but it's created automatically when compiling the 1st 3 files....am at a lost.........could only think classpath issue somehow.....
    CableModem.java
    http://www.cadenhead.org/book/24java/source/chapter10/CableModem.java
    DslModem.java
    http://www.cadenhead.org/book/24java/source/chapter10/DslModem.java
    Modem.java
    http://www.cadenhead.org/book/24java/source/chapter10/Modem.java
    TestModems.java(the main app)
    http://www.cadenhead.org/book/24java/source/chapter10/TestModems.java

    Thank you for your response once again
    (assigned u the dukies from last thread)
    Argggghhhh!!!!! / Yippie Kayay!!!!!!!!!!!!!!
    Man oh man... HUGE headache....(wanting to studying the stuff from last post you helped on...having troubles with freaking packages SUCKS:) :) :)
    (but...will am learning, so that's good)
    Sooo....
    I put the actual ".java" files in the same directories, but that did not make a difference....
    So what I did was use the fully qualified /explicit name for each class.
    IE:
    import com.modempack;Gives the original 2 errors....that the above package does NOT exist??? wtf
    import com.modempack.*;Gives a single bad class erro
    Using either of the above and the following command:
    javac -classpath TestModems.javagives "no source files found"
    Using either of the above and the following command:
    javac -classpath c:\java\2\com\modems TestModems.javaYielded 5 errors of cannot resolve symbol
    Using: *****************************
    import com.modempack.Modem;
    import com.modempack.CableModem;
    import com.modempack.DslModem;and adding public in fron of the int[/code" variable....WORKS
    It is my understanding that
    import javax.swing.*;
    does NOT import everything with the swing library, so when thinking
    along those lines, this makes 100% sense....I just thought that with packages
    you could provide one, and everything else in the package is imported, ie: if you have a package with 500 classes in it, you wouldn't want 500 import lines....something seems like something
    must be wrong with the class files or something/classpath still or else this would work somehow???
    Well...going to go mess around somemore, just an update.
    Thank you again                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Help with :new and :old keywords

    I am trying to write a trigger that calls a cursor with info from the user_tab_columns. Then I use the cursor in a For-loop for accessing a specific column for each row. Ineed the :new value of the specific column to pass it as an argument to a procedure. Here is my code:
    For each_r in MyPackage.PrimKey_Cursor (TABLENAME)
    Loop
    New_val := (:new.&#0124; &#0124;each_r.Column_Name);
    MyPackage.LogIns ('TABLENAME', each_r.Column_Name, New_val);
    End loop;
    My problem is the New_val variable pass only the string :New.COLUMNNAME instead of the new value of the COLUMNNAME.
    How can I do this passing of :new, :old values to a procedure when the column name is variable?
    YOur help is greatly appreciated.
    Thaks,
    Cip

    IMPLEMENTS
    By using the implement keyword I am 'agreeing' to use
    (implement) the methods of that interface. I am still
    required to import the correct package for the
    compiler to see the interface I have implemented. If
    I attempt to use the
    actionPerformed() method without implementing the
    actionListener interface it will not be recognized
    and therefor will result in a compile-time error.You can write an "actionPerformed" method without saying that you are implementing ActionListener. But, even if you have an actionPerformed method with the correct signature (name and parameter types), you won't be able to add your class as an ActionListener to a JButton. The compiler expects an ActionListener for "addActionListener". If you didn't tell the compiler that your class is an ActionListener by writing "implements ActionListener", it would give you an error on the "addActionListener(this)" line.
    IMPORT
    Allows me to access with out full classpath the
    methods and objects of any packages that I have
    impoted. The reason I do not have to do this with
    System.out.println() is because that is in a package
    that the compiler has default access to.
    If I were to attemp to use JTextArea without first
    importing Javax.swing.*;
    I would get a class not found error....You never actually have to explicitly import anything. You could instead write all of the classnames out in full as:
    public class KeyEventDemo extends javax.swing.JPanel
                 implements java.awt.event.KeyListener, java.awt.event.ActionListener
        javax.swing.JTextArea displayArea;
        javax.swing.JTextField typingArea;
        static final java.lang.String newline = "\n";
    }Using import statements makes your code a little easier to write, because the names are shorter.
    Actually, your main method has an example of using a class without explicitly importing it:
    javax.swing.SwingUtilities.invokeLater(...);
    so, am I right or at least near right?Yes. Some right, some near right. :)

  • Problem with package and directory structure

    Please... I need help with a directory/package structure that I don't understand
    why it is not working...
    I want to create a custom login SWF which several other SWF movies will use in case they need some kind of login logic (in this case it is a login logic... but the problem doesn't have anything to do with that logic...)
    I have created a FLA movie (LOGIN.FLA) and two helper classes (MAINLOGIN.AS and MAINLOGINEVENT.AS)... they are all under the same directory, for example:
    c:\
         abc\
              def\
                   ghi\
                        login
    In LOGIN.FLA, I have included the source path, c:\abc (for example).
    MAINLOGIN.AS and MAINLOGINEVENT.AS, have both a package like:
         package def.ghi.login
    MainLogin class uses MainLoginEvent (it dispatches events of that type)... but I don't have to import anything as all 3files are in the same directory...
    LOGIN.FLA has its class defined as def.ghi.login.MainLogin
    And that's all... now comes the problem:
    1. If I leave everything as described and try to publis LOGIN.FLA, it throws error 5001 ("The name of the package def.ghi.login.MainLoginEvent doesn't reflect....) for class MainLoginEvent... don't understand why... it is placed exactly as MainLogin and has the same package definition!
    2. I have tried several other options, but when I get the SWF to get published, then, the problem comes when trying to use this SWF from another movie:
    The way to publish LOGIN.FLA with no errors is: MAINLOGIN.AS and MAINLOGINEVENT.AS with empty package definition ("package" alone...) and LOGIN.FLA with class MainLogin (not def.ghi.login.MainLogin)... LOGIN.FLA doesn't have to include source path to c;\abc in this case. This way, I can publish LOGIN and get LOGIN.SWF.
    The problem now is how to use this information from another Movieclip... I want to be able to use and receive events of type MainLoginEvent but can't (it gives error 5001 again, on MainLoginEvent, saying that the name of the package '' doesnt' reflect....)... If I include the path to c:\abc\def\ghi\login on the FLA, then it gives errors in MainLogin when trying to use a class of its library...
    Basically, the problem here is that, the movie which wants to use the LOGIN.SWF, is in c:\abc\def, and it is including the source path c:\abc, so if I import def.ghi.login.*
    it is when it throws error 5001 (I understand why, but I dont know how to fix it...), but if I dont import def.ghi.login.* then I can't use MainLogin nor MainLoginEvent...
    What is the good way of doing this kind of structure... mainly it is creating a SWF, which can be used from other SWF's and which can dispatch events, which the container SWF will capture...
    If anyone can please give me a hint... THANK YOU!

    Hi kglad , I don't understand the first point... "don't use absolute paths"... I'm not using them (or I don't understand what you mean).
    For the second one... the structure is like:
    c:\
         abc\
              def\
                   LOGINCONTAINER.FLA
                   ghi\
                        login\
                             LOGIN.FLA
                             MAINLOGIN.AS
                             MAINLOGINEVENT.AS
    In LOGIN.FLA, I include the source path c:\abc, so MAINLOGIN.AS and MAINLOGINEVENT.AS have a package of "def.ghi.login", and the class for LOGIN.FLA is "def.ghi.login.MainLogin"... when trying to publish LOGIN.FLA, Flash throws error 5001 for MAINLOGINEVENT...¿?
    What I want to get is a SWF (LOGIN.SWF), which can be loaded from any other SWF (in this example, LOGINCONTAINER.SWF). LOGINCONTAINER.FLA, has a class path "c:\abc" (the same as the other LOGIN.FLA, because of the directory structure), and it has to be able to receive events of type MAINLOGINEVENT... that is why it has to do an import of "import def.ghi.login.*" (for example)
    Any idea of why it is not working (or how to organize it correctly)?
    Thank you

  • Help with Package please

    Hi - I posted my question in the iPhoto forum and was directed me here! (The reply began "That's really an Operating System issue not an iPhoto one. The fix is done in the Terminal, but I'm not terminal expert ...") So here goes:
    I recently installed iPhoto Library Manager and it worked fine for the first two libraries I created but then I created a third and after opening it, the Pictures Folder (listed under PLACES on the left of my Macintosh Harddrive window) turned into a "package" with a new sort of icon instead of a folder.
    When I try to open it, I get a window that reads "There is no default application specified to open the document ‘Pictures’ " and a prompt to "Choose Application." I tried deleting the 3rd library from iPhoto Manager (I still have the photos elsewhere), but that didn’t help.
    When I go into my users folder, I find this same Pictures Package with its new sort of icon and right beneath it I find a folder called "Pictures_" Inside the "Pictures_" folder I find exactly what used to be in my Pictures Folder.
    In the new Pictures package (which I view by rIght clicking on it & selecting show contents option) I found all my iPhoto libraries and files that used to be in the Pictures folder (when it was under PLACES) plus 8 more items. They are: AlbumData.xml; iPhoto.ipspot; Library.data; 3 folders - Data, Modified & Originals; and Library.iPhoto & Library6.iPhoto – which look like two new iPhoto Libraries, and when I click on either of them, my iPhoto Library opens up, but when I get info on them, they are tiny (4KB & 2.7 MB) as opposed to my actual library (30.44 GB)
    There is only one item that did not copy over to the new package. In Pictures_ there is a folder called ‘Contents’ but the only thing it contains is a 4KB plaintext document called “Pkginfo.”
    I tried to search through the Discussions for an answer to my problem before posting, and the closest I came was "Photo library problem" Posted by Simon: Jun 30, 2008 8:04 PM. My first question is the same as Simon's:
    How can I return the 'package' to a folder, so I can open it and point iPhoto to my library(s) inside?
    Here is LN's response: "RIght click on your "new" package and select the show contents option - find the iPhoto library and drag it to the root level of the External Hard drive -- You should now be able to point iPhoto to it."
    As a novice, I need to ask for clarification. How exactly does one "drag it to the root level of the External Hard drive?" That is to say, where is the root level of the External Hard drive, how can I find it??
    Also, is this the right solution for me, given as I have multiple iPhoto libraries in this "package"? Would I have to drag both my iPhoto Libraries to the root level? And can I delete the new Library.iPhoto & Library6.iPhoto (tiny files that look like two new iPhoto Libraries) which were created?
    OR in my case, should I delete the package and put the Pictures_ folder in its' place? I'm not sure this is possible. I tried to put the pictures package in the trash (since I still have Pictures_) but I get a message, “”Pictures can’t be modified or deleted because it is required by Mac OS X.”
    What is a package, anyway? How does it compare to a folder?
    Any help would be truly, truly appreciated.
    Thanks in advance
    FranArt

    If I'm understanding your problem, your normal Pictures folder has turned into non-openable bundle which the Finder sees as a file, so when you double click the Pictures icon instead of the folder opening the Finder asks you what application you want to use to open the "file"--many applications are structured this way, and so is the iPhoto Library itself in the newest version of iPhoto. And you can't trash Pictures because in Leopard a special sort of permissions was added to it by Apple to prevent people accidently trashing important stuff, like their pictures.
    I know you can reset the bundle bit using Terminal if you have Developer Tools installed, not sure if Apple added that command to the default set of Terminal commands in Leopard. You can get the commands you need here if you didn't install Developer Tools:
    http://homepage.mac.com/francines/.Public/getsetfile.zip
    Unzip the file and you will have a folder with two files in it. Try the first to see if it works, this example assumes that the zip file went to your home Downloads folder.
    1. Open Terminal by double clicking it, it is in your Utilities folder
    2. Now open the unzipped folder and drag and drop the GetFileInfo file into the Terminal
    3. Next open your home folder and then drag and drop Pictures into the Terminal (you must use the Pictures that displays when the home folder is open, NOT the one in the Sidebar)
    4. Hit return and you will something like this:
    NoobiX:~ francine$ /Users/francine/Downloads/getsetfile/GetFileInfo /Users/francine/Pictures
    directory: "/Users/francine/Pictures"
    attributes: avBstClinmedz
    created: 11/07/2007 16:36:43
    modified: 08/31/2008 01:34:46
    I suspect the attributes will show a capital letter "B" as in the example above, instead of the lower case b which is normal. If that is true, then the bundle bit has been set. To reset it drag the SetFile command into the Terminal, drop it, then type
    -a b
    followed by a space, and drag the Pictures file into Terminal and drop it and press Return. The Terminal will look something like this:
    NoobiX:~ francine$ /Users/francine/Downloads/getsetfile/SetFile -a b /Users/francine/Pictures
    The Pictures folder will now be a folder again. Where my example shows the name of my computer, and my user name, yours should show your user name and something other than "NoobiX" for your computer.
    Francine
    Francine
    Schwieder

  • Help with BufferedImage and JPanel

    I have a program that should display some curves, but thats not the problem, the real problem is when i copy the image contained in the JPanel to the buffered image then i draw something there and draw it back to the JPanel. My panel initialy its white but after the operation it gets gray
    Please if some one could help with this
    here is my code divided in three classes
    //class VentanaPrincipal
    package gui;
    import java.awt.BorderLayout;
    import java.awt.FlowLayout;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.Insets;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.image.BufferedImage;
    import javax.swing.BorderFactory;
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import javax.swing.JSeparator;
    import javax.swing.border.LineBorder;
    import javax.swing.JMenuItem;
    import javax.swing.JPanel;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    * This code was edited or generated using CloudGarden's Jigloo
    * SWT/Swing GUI Builder, which is free for non-commercial
    * use. If Jigloo is being used commercially (ie, by a corporation,
    * company or business for any purpose whatever) then you
    * should purchase a license for each developer using Jigloo.
    * Please visit www.cloudgarden.com for details.
    * Use of Jigloo implies acceptance of these licensing terms.
    * A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
    * THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
    * LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
    public class VentanaPrincipal extends javax.swing.JFrame {
              //Set Look & Feel
              try {
                   javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
              } catch(Exception e) {
                   e.printStackTrace();
         private JMenuItem helpMenuItem;
         private JMenu jMenu5;
         private JMenuItem deleteMenuItem;
         private JSeparator jSeparator1;
         private JMenuItem pasteMenuItem;
         private JLabel jLabel4;
         private JLabel jLabel5;
         private JLabel jLabel3;
         private JLabel jLabel2;
         private JLabel jLabel1;
         private JButton jSPLineButton;
         private JButton jHermiteButton;
         private JButton jBezierButton;
         private JPanel jPanel2;
         private JPanel jPanel1;
         private JMenuItem jResetMenuItem1;
         private JMenuItem copyMenuItem;
         private JMenuItem cutMenuItem;
         private JMenu jMenu4;
         private JMenuItem exitMenuItem;
         private JSeparator jSeparator2;
         private JMenu jMenu3;
         private JMenuBar jMenuBar1;
          * Variables no autogeneradas
         private int botonSeleccionado;
         * Auto-generated main method to display this JFrame
         public static void main(String[] args) {
              VentanaPrincipal inst = new VentanaPrincipal();
              inst.setVisible(true);
         public VentanaPrincipal() {
              super();
              initGUI();
         private void initGUI() {
              try {
                        this.setTitle("Info3 TP 2");
                             jPanel1 = new pizarra();
                             getContentPane().add(jPanel1, BorderLayout.WEST);
                             jPanel1.setPreferredSize(new java.awt.Dimension(373, 340));
                             jPanel1.setMinimumSize(new java.awt.Dimension(10, 342));
                             jPanel1.setBackground(new java.awt.Color(0,0,255));
                             jPanel1.setBorder(BorderFactory.createCompoundBorder(
                                  new LineBorder(new java.awt.Color(0, 0, 0), 1, true),
                                  null));
                             BufferedImage bufimg = (BufferedImage)jPanel1.createImage(jPanel1.getWidth(), jPanel1.getHeight());
                             ((pizarra) jPanel1).setBufferedImage(bufimg);
                             jPanel2 = new JPanel();
                             getContentPane().add(jPanel2, BorderLayout.CENTER);
                             GridBagLayout jPanel2Layout = new GridBagLayout();
                             jPanel2Layout.rowWeights = new double[] {0.0, 0.0, 0.0, 0.0};
                             jPanel2Layout.rowHeights = new int[] {69, 74, 76, 71};
                             jPanel2Layout.columnWeights = new double[] {0.0, 0.0, 0.1};
                             jPanel2Layout.columnWidths = new int[] {83, 75, 7};
                             jPanel2.setLayout(jPanel2Layout);
                                  jBezierButton = new JButton();
                                  jPanel2.add(jBezierButton, new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
                                  jBezierButton.setText("Bezier");
                                  jBezierButton.setFont(new java.awt.Font("Tahoma",0,10));
                                  jBezierButton.addActionListener(new ActionListener() {
                                       public void actionPerformed(ActionEvent evt) {
                                            bezierActionPerformed();
                                  jHermiteButton = new JButton();
                                  jPanel2.add(jHermiteButton, new GridBagConstraints(1, 1, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
                                  jHermiteButton.setText("Hermite");
                                  jHermiteButton.setFont(new java.awt.Font("Tahoma",0,10));
                                  jSPLineButton = new JButton();
                                  jPanel2.add(jSPLineButton, new GridBagConstraints(1, 2, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
                                  jSPLineButton.setText("SP Line");
                                  jSPLineButton.setFont(new java.awt.Font("Tahoma",0,10));
                                  jLabel1 = new JLabel();
                                  jPanel2.add(jLabel1, new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
                                  jLabel1.setText("Posicion Mouse");
                                  jLabel2 = new JLabel();
                                  jPanel2.add(jLabel2, new GridBagConstraints(1, 3, 1, 1, 0.0, 0.0, GridBagConstraints.NORTH, GridBagConstraints.NONE, new Insets(12, 0, 0, 0), 0, 0));
                                  jLabel2.setText("X:");
                                  jLabel3 = new JLabel();
                                  jPanel2.add(jLabel3, new GridBagConstraints(1, 3, 1, 1, 0.0, 0.0, GridBagConstraints.SOUTH, GridBagConstraints.NONE, new Insets(0, 0, 12, 0), 0, 0));
                                  jLabel3.setText("Y:");
                                  jLabel4 = new JLabel();
                                  jPanel2.add(jLabel4, new GridBagConstraints(2, 3, 1, 1, 0.0, 0.0, GridBagConstraints.NORTH, GridBagConstraints.NONE, new Insets(12, 0, 0, 0), 0, 0));
                                  jLabel4.setText("-");
                                  jLabel5 = new JLabel();
                                  jPanel2.add(jLabel5, new GridBagConstraints(2, 3, 1, 1, 0.0, 0.0, GridBagConstraints.SOUTH, GridBagConstraints.NONE, new Insets(0, 0, 12, 0), 0, 0));
                                  jLabel5.setText("-");
                   this.setSize(600, 400);
                        jMenuBar1 = new JMenuBar();
                        setJMenuBar(jMenuBar1);
                             jMenu3 = new JMenu();
                             jMenuBar1.add(jMenu3);
                             jMenu3.setText("Archivo");
                                  jSeparator2 = new JSeparator();
                                  jMenu3.add(jSeparator2);
                                  exitMenuItem = new JMenuItem();
                                  jMenu3.add(exitMenuItem);
                                  exitMenuItem.setText("Exit");
                                  jResetMenuItem1 = new JMenuItem();
                                  jMenu3.add(jResetMenuItem1);
                                  jResetMenuItem1.setText("Reset");
                             jMenu4 = new JMenu();
                             jMenuBar1.add(jMenu4);
                             jMenu4.setText("Edit");
                                  cutMenuItem = new JMenuItem();
                                  jMenu4.add(cutMenuItem);
                                  cutMenuItem.setText("Cut");
                                  copyMenuItem = new JMenuItem();
                                  jMenu4.add(copyMenuItem);
                                  copyMenuItem.setText("Copy");
                                  pasteMenuItem = new JMenuItem();
                                  jMenu4.add(pasteMenuItem);
                                  pasteMenuItem.setText("Paste");
                                  jSeparator1 = new JSeparator();
                                  jMenu4.add(jSeparator1);
                                  deleteMenuItem = new JMenuItem();
                                  jMenu4.add(deleteMenuItem);
                                  deleteMenuItem.setText("Delete");
                             jMenu5 = new JMenu();
                             jMenuBar1.add(jMenu5);
                             jMenu5.setText("Help");
                                  helpMenuItem = new JMenuItem();
                                  jMenu5.add(helpMenuItem);
                                  helpMenuItem.setText("Help");
              } catch (Exception e) {
                   e.printStackTrace();
         private void bezierActionPerformed(){
              botonSeleccionado = 1;
              ((pizarra) jPanel1).setTipoFigura(botonSeleccionado);
              ((pizarra) jPanel1).pintarGrafico();
    //class graphUtils
    package func;
    import java.awt.Image;
    import java.awt.Point;
    import java.awt.image.BufferedImage;
    public class graphUtils {
         public static void dibujarPixel(BufferedImage img, int x, int y, int color){
              img.setRGB(x, y, color);
         public static void dibujarLinea(BufferedImage img, int x0, int y0, int x1, int y1, int color){
            int dx = x1 - x0;
            int dy = y1 - y0;
            if (Math.abs(dx) > Math.abs(dy)) {          // Pendiente m < 1
                float m = (float) dy / (float) dx;     
                float b = y0 - m*x0;
                if(dx < 0) dx = -1; else dx = 1;
                while (x0 != x1) {
                    x0 += dx;
                    dibujarPixel(img, x0, Math.round(m*x0 + b), color);
            } else
            if (dy != 0) {                              // Pendiente m >= 1
                float m = (float) dx / (float) dy;
                float b = x0 - m*y0;
                if(dy < 0) dy = -1; else dy = 1;
                while (y0 != y1) {
                    y0 += dy;
                    dibujarPixel(img, Math.round(m*y0 + b), y0, color);
         public static void dibujarBezier(BufferedImage img, Point puntos, int color){
    //class pizarra
    package gui;
    import javax.swing.*;
    import sun.awt.VerticalBagLayout;
    import sun.security.krb5.internal.bh;
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.Image;
    import java.awt.Point;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.awt.image.BufferedImage;
    import java.util.ArrayList;
    import func.graphUtils;
    * esta clase pizarra extiende la clase JPanel y se agregan las funciones de pintado
    * y rellenado que se muestra en pantalla dentro del panel que se crea con esta clase
    * @author victorg
    public class pizarra extends JPanel implements MouseListener{
         private int tipoFigura;
         BufferedImage bufferImagen;
         Image img;
         Graphics img_gc;
         private Color colorRelleno, colorLinea;
         private Point puntosBezier[] = new Point[3];
         public pizarra(){
              super();          
              addMouseListener(this);
              //this.setBackground(Color.BLUE);
              colorLinea = Color.BLUE;
         public void setTipoFigura(int seleccion){
              // se setea para ver si es bezier, hermite, SP line
              tipoFigura = seleccion;
         public void setTipoRelleno(int seleccion){
         public void setColorRelleno(Color relleno){
              colorRelleno = relleno;          
         public void setColorLinea(Color linea){
              colorLinea = linea;
         public void setBufferedImage(BufferedImage bufimg){
              bufferImagen = bufimg;
         public void pintarGrafico(){
              Graphics g = this.getGraphics();     
              g.setColor(colorLinea);
              //accion ejecutada cuando se selecciona para graficar un poligono
              if(tipoFigura == 1){// bezier
                   if(bufferImagen == null){
                        //mantiene guardada la imagen cuando la pantalla pasa a segundo plano
                        bufferImagen = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_RGB);
                        this.setBackground(Color.WHITE);                                                  
                        bufferImagen = (BufferedImage)createImage(getWidth(), getHeight());
                        //bufferImagen = this.createImage(getWidth(), getHeight());
                   //g.drawImage(bufferImagen,0,0,this);
                   graphUtils.dibujarLinea(bufferImagen,10, 10, 50, 50, colorLinea.getRGB());
                   g.drawImage(bufferImagen,0,0,this);
         protected void paintComponent(Graphics g) { // llamado al repintar
              //setBackground(colorFondo);
              super.paintComponent(g);
    //          Graphics2D g2 = (Graphics2D)g;          
    //          g2.drawImage(bufferImagen, 0,0, this);          
    //          g2.dispose();     
         public void mouseClicked(MouseEvent arg0) {          
         public void mousePressed(MouseEvent arg0) {
              // TODO Auto-generated method stub
         public void mouseReleased(MouseEvent arg0) {
              // TODO Auto-generated method stub
         public void mouseEntered(MouseEvent arg0) {
              // TODO Auto-generated method stub
         public void mouseExited(MouseEvent arg0) {
              // TODO Auto-generated method stub
    }

    1) Swing related questions should be posted in the Swing forum.
    Custom painting should be done in the paintComponent(..) method. You created a "pintarGraphico" method to do the custom painting, but that method is only execute once. When Java determines that the panel needs to be repainted, the paintComponent() method is executed which simply does a super.paintComponent(), which in turn simply paints the background of the panel overwriting you custom painting.

  • Looking for some help with package design (box)

    I'm pretty good with Photoshop, but Illustrator is fairly new to me. I'm helping a friend do his product packages and I already have all of the graphics, I'm just having trouble figuring out how to put it all together in Illustrator.
    We already have the box dimensions and just need to get a vector file that the factory can use to print. My main question is how do I create the actual layout of the box to work on? In the pdf that was sent to us I can pull out the box, but it just sits on a white background.
    My next question is how do I fill the layout with a pattern. I have a carbon fiber look pattern in Photoshop, but I'm having trouble figuring out how to use it to fill in Illustrator.
    Thanks ahead of time for any help.

    Jem,
    Pardon me if I sound rude by suggesting that before you launch into an expensive printing job (which could result in disastrous consequences if you don't do it right) that you actually learn how to use the program first. You may also want to learn something about the offset printing process and how to prepare print jobs.
    Even many Illustrator novices know that there is no such thing as a background in Illustrator, in the sense that there is in Photoshop. You will need to PLACE your Photoshop background as a high resolution CMYK tiff in the provided template. That's the answer to your second question. I don't really understand your first question. Maybe someone else will. Are you simply asking, "where do I begin?" If so, then you REALLY REALLY need to read a book on how to use Illustrator. The Adobe Illustrator Classroom in a Book might be the place to start.
    "I'm pretty good with CPR. I'm helping a friend do his vasectomy and I already have all the equipment (scalpels, thread, etc.) I'm just having trouble figuring out where to cut."

Maybe you are looking for

  • System freeze at midnight

    Hi there, last night, at exactly midnight the whole system froze up, nothing worked anymore. I had to do a hard reset. I assume that it is related to systemd and its journal since it usually starts to get active at 12, doing whatever, causing lots of

  • What are the various ports used by OLT?

    Having recently had 'fun' getting a load agent working in our secure LAN, I was wondering if someone could clarify what the various ports are used by/for? I am aware of the following: 9001 - Actually mentioned when setting up a load agent 1099 - Ment

  • Sony Bridge for Mac - Cannot Sync

    So, whenever I connect my Sony Xperia ® (seriously, that ® EVERYWHERE is annoying), I either get an error message "could not connect", or the memory appears to be full. The display bar that usually says what is occupying my memory (Pictures, Videos,

  • Plugin working fine on CS6 but giving issues in CC 2014..

    Hi I have developed an automation plugin and it is working fine till CS6. For CC 2014, it works fine on my machine but on other machines it gives errors like "Cannot flatten, or cannot rotate".. Can you please guide me for this behaviour of CC and wh

  • Title 3D background color

    I just started using FCE and I've successfully created a sequence that is not complicated. I am only using 1 video track and separating each video segment with a Title 3D title page. I am not overlaying the title page. The background is displayed in