Jump to content

View more

Image of the Day

The beast has a mighty searchlight of evil! #screenshotsaturday https://t.co/bzKepOojDL
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.

Sign up now

Java package problem

4: Adsense

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
5 replies to this topic

#1 camcd   Members   


Posted 17 July 2012 - 12:34 AM

I'm having a problem creating and using my own packages(and subpackages) for a game I'm writing in Java. I'd also like to use a package that allows for .mp3 audio files rather than the massive .wav .
I know the declaration is:

package name; (First line)
..rest of code

I've tried fiddling with the class path (spelt "classpath" , does case matter?) for both the system and user, and also compiled with a set class path, but didn't get it working. I'm using Notepad++, so I'm compiling in command prompt. ( I know IDEs are important and improve efficiency but I want to learn the bones of the language first and know the imports I'm dealing with rather than have it fill it in for me as I type).

So what am I doing wrong? I think it's something to do with the classpath so could someone give me a step by step for setting it up? Otherwise, am I missing something else?

Also, slightly related: Any tips for game programming in Java, besides don't do it ( Posted Image ), or game programming in general? How can I make sure my game will use as little memory as possible, and run as quickly as possible? I've made all my images point to the same static images rather than create a new one for each object (this really, really helped) , and used bytes instead of other primitives when possible. Specifically I'm programming a strictly 2d game if there's specific pointers for that.

Edited by camcd, 17 July 2012 - 12:38 AM.

#2 goowik   Members   


Posted 17 July 2012 - 01:00 AM

Hey camcd,

I'm not sure what the exact problem is with your packages but let me tell you how mine works.
First of I'm using an IDE (eclipse to be exact).

When creating my packages I make sure I have a main package (which is the name of the game) and then the sub package.
For example:


Every single class that has anything to do with entities will be put in the entities package.

package gamename.entities;

the hierarchy of the files should be something like:









As for other tips you might want to use 2D libraries like lwjgl or slick2D (which is a "fork" or not sure how its called from lwjgl).
Oh and i suppose you could find some great tutorials on youtube (instead of plain text websites).

If you use lwjgl check this link. He has some amazing tutorials.


#3 BitMaster   Members   


Posted 17 July 2012 - 01:10 AM

To reiterate the most important part of goowik's post: if you want people to help you, give them the tools to do so. You didn't say what you have tried and you haven't described the error, just that it does not seem to work. I could add half hour worth of post here trying to add more possible gotchas but I don't have the time right now and most of it would be wasted.

#4 camcd   Members   


Posted 17 July 2012 - 01:25 AM

I thought I was (though I did ramble about random things, just a little excited Posted Image ), sorry. I'm having trouble importing and using other packages besides those in java.* or javax.* .

When I create my own package, I get an error saying : "package "x" doesn't exist" when I try to compile. The class can even be in the same directory as main.

The current organization (or lack of) of my program is as follows

MyGame Folder:
class x, class x1, class x2, ... class xn .

So when I do javac *.java it looks in the current directory (MyGame) that contains my main class and finds all the other classes.

I want to add a folder containing classes related to one thing and all the classes in that folder would be in the same package , so it would be:

MyGame Folder:
MyPackage 1:
class p, class p1 ... class pn

class x

Where I could import one of the "p" classes from class x (which would contain main) with a statement like:

import MyGame.MyPackage1.class p;

and can still compile with javac . I want to avoid the use of an IDE before I know how to do it myself.

Edited by camcd, 17 July 2012 - 01:38 AM.

#5 camcd   Members   


Posted 17 July 2012 - 01:45 AM

Alright, sorry to bother you guys. I got it working. My classpath wasn't set correctly and I didn't write the package statement properly. Thanks.

#6 BitMaster   Members   


Posted 17 July 2012 - 01:46 AM

I'm too rusty with the command line for the compiler but http://docs.oracle.com/javase/1.4.2/docs/tooldocs/windows/javac.html seems to describe what you need as the first example.

That aside, your import statement is wrong like this. It would have to be either
import MyGame.MyPackage1.p;
import MyGame.MyPackage1.*;

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.