|
I don't think I was clear enough when I origionaly asked the question. It's not loading the resource I was looking for. It was finding the resource. Specifically the listfiles (because finding a single resource from the class loader is trivial) Loading a known resource is not a problem, finding it was. Just using the resource loader wasn't going to work, because the path I was looking in may have {n} sub paths.
I found a way to do this with the jar files, but it's not what I want. I would have to use a jar package inside my project. This would be problematic at this time, which is why I posted. I wanted to know if there was a way around it.
What I have decided to do is create a meta file in each root and load that. I can find all the subs in the jar from there. This leaves my code alone , still using the getresource. The answer was finding a way to find out which sub resources this particular object had.
|
|
|
|
|
loctrice wrote: I don't think I was clear enough when I origionaly asked the question. It's not loading the resource I was looking for. It was finding the resource. Specifically the listfiles (because finding a single resource from the class loader is trivial) Loading a known resource is not a problem, finding it was. Just using the resource loader wasn't going to work, because the path I was looking in may have {n} sub paths.
I don't understand the question then.
To "find" a resource you must must either use a 'name' of some sort or look in the resource itself.
If you are using a name, then the 'path' to the resource is then just part of the name. So instead of using "thing.x" you use "resource/all/bright/thing.x".
If you do that then the method I suggested will find it.
|
|
|
|
|
resource/{unknown number of unknown names}/thing.x
Your method only works if you know the variable part of that equation.
I was trying to find a way to get all of the variable part, and I believe you were helping me figure out what to do with them after I know them.
For instance, I have a game object that animates via sprite. Here is that object structure
ObjectName/{animationname}/file.png
ObjectName/{other_animation_name}/file.png
ObjectName/{Yet_another_animation_name/file.png
ObjectName/{some_media_type}/file.extension
I was expecting to get all the paths under ObjectName/
Loading these after I find them is not an issue at all. Finding them in a file/folder structure is not an issue either. Finding them inside a jar is what I was looking for. -*Finding*- them, not loading them. I don't know when I run what all is in there.
|
|
|
|
|
Then it requires two methodologies. One that sequences through the file system. Another that sequences through the jar via the zip api.
No other choice.
You could probably trigger off of a top level class as two which is used.
Although just to be clear I don't see how that matters to running a game. One could use it for some sort of listing of images but not one that is tied to game functionality.
|
|
|
|
|
jschell wrote: No other choice.
Except for a meta file, which is in my first reply.
ObjectName/Meta.ext
Which will allow me to find dependant resources and load them.
jschell wrote: I don't see how that matters to running a game
That's alright, it's not required for the context. I was asking how to find the information I was needing. The manner in which I was looking for them was the subject. I could have the same problem looking for text files unrelated in any way to a game.
jschell wrote: I don't see how that matters to running a game
I can preload all the images, sounds, character information, etc, etc when the game loads. Because of the people I have doing media with me, and the way I organized it, this will not only be easier to load, but easier to save when I make the toolsets for building. It will also follow the same save/load format no matter what object it is, including my tile maps. This will allow me have consistency in my toolsets, file formats, etc.
We are just interested in doing things our own way. It's not something going for sale, or for any other reason then our own fun and/or learning. If it were for something else, we'd use prebuilt engine software and/or another language.
At any rate, thank you for the conversation. I'm sorry I was not clear in my question and I hope I didn't waste too much of your time.
|
|
|
|
|
loctrice wrote: I can preload all the images, sounds
You could use a single root then.
loctrice wrote: Except for a meta file, which is in my first reply.
Keep in mind that you can generate that rather than maintaining it manually.
|
|
|
|
|
Yeah, I am planning on having a toolset that will generate the meta file for me.
jschell wrote: You could use a single root then.
I couldn't figure this out without the meta file either. I'd still have an unkown name and number of files, which leads me back to how to find them. I can do it with the meta file, but I still want it to be easily viewed if we unpack it (with logical directory structures).
In the end, I'm going to end up with an application data folder. I think , in that folder, I'm still going to pack the stuff in jar files, so I'll still use the meta file in that case. Right now I'm just packing it into my project. The "end goal" was to be able to move it without having to hard code stuff.
|
|
|
|
|
hello this is Saad
there is a Question revolving in my Mind that why a Set is UnOrdered
? ?
|
|
|
|
|
by definition.
sometimes an order is irrelevant to a collection, then use a set. It is like a mathematical set (remember Venn diagrams?).
without any order, adding and removing items can be very fast operations.
|
|
|
|
|
as Luc says, it's so by definition.
the Interface Set[^] is an extension to the interface Collection. And a Collection is unsorted - so it's most likely an inherited behavior.
|
|
|
|
|
As a guess, most collections do not need to be ordered.
Thus ordering is something that is best done by adding it to a collection when needed.
Also if collections started out ordered then attempting to make them unordered, for performance reasons, would probably be hard if possible at all.
So better if everything started out unordered.
|
|
|
|
|
It is because, there is a SortedSet in java.
|
|
|
|
|
I have created a Java game (183MB for .jar file) and can be played on local (offline) through .html and it works perfectly fine. However, once it is allocated into the server in my University, it does not run as expected and it projects the following exception:
load: class wildwildwest.applet_selection_screen not found.
java.lang.ClassNotFoundException: wildwildwest.applet_selection_screen
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception: java.lang.ClassNotFoundException: wildwildwest.applet_selection_screen
What causes the above problem and what solution can be proposed to solve it?
By the way, the .html code for the game is as followed is as following:
<HTML>
<HEAD>
<TITLE>Wild Wild West</TITLE>
</HEAD>
<BODY bgcolor="#000000">
<font color="#ffffff" face="Curlz MT">
<center>
<H3><HR WIDTH="100%">Wild Wild West<HR WIDTH="100%"></H3>
<P>
<APPLET CODE="wildwildwest.applet_selection_screen" archive="Wild Wild West.jar" width=800 height=600></APPLET>
</P>
</center>
</font>
</BODY>
</HTML>
|
|
|
|
|
Check this link[^], it has most of the common problems for deploying an applet.
Panic, Chaos, Destruction. My work here is done.
Drink. Get drunk. Fall over - P O'H
OK, I will win to day or my name isn't Ethel Crudacre! - DD Ethel Crudacre
I cannot live by bread alone. Bacon and ketchup are needed as well. - Trollslayer
Have a bit more patience with newbies. Of course some of them act dumb - they're often *students*, for heaven's sake - Terry Pratchett
|
|
|
|
|
Thanks for the suggestion but it doesn't seems to be able to solve the problem. There are others java games has been uploaded onto the same server but only the one I have is not able to work online while the rest can be loaded and played.
|
|
|
|
|
If there are other applets running without a problem, I'd suggest you investigate the differences.
Panic, Chaos, Destruction. My work here is done.
Drink. Get drunk. Fall over - P O'H
OK, I will win to day or my name isn't Ethel Crudacre! - DD Ethel Crudacre
I cannot live by bread alone. Bacon and ketchup are needed as well. - Trollslayer
Have a bit more patience with newbies. Of course some of them act dumb - they're often *students*, for heaven's sake - Terry Pratchett
|
|
|
|
|
check the libraries you're using. Might be a indirect reference, which causes the deployment not to find the jar and therefor not to work proper.
Also check your build-Config, sometimes not all classes are marked to be added to the build.
|
|
|
|
|
Thanks for the information. I will try it out as soon as possible.
|
|
|
|
|
TorstenH. wrote: check the libraries you're using. Might be a indirect reference, which causes the deployment not to find the jar and therefor not to work proper.
Huh?
Jars don't have dependencies - classes do.
If the specified class is in the specified jar and the class has another class dependency which is not found then a different exception would be the result.
Perhaps you meant something different?
|
|
|
|
|
Maybe try changing your jar filename to no spaces.
|
|
|
|
|
thanks for the suggestion. I will try to solve it.
|
|
|
|
|
arthur89kim wrote:
<layer>What causes the above problem and what solution can be proposed to solve it?
The class is not in the class path. The solution follows from that.
arthur89kim wrote: I have created a Java game (183MB for .jar file) and can be played on local (offline) through .html and it works perfectly fine.
Which means it is in the class path.
Although it isn't clear what you mean by "through .html".
I will note some oddities.
1. 183 meg is a really big jar
2. Class name doesn't follow standard naming.
3. Jar name shouldn't have spaces in it.
What happens if you change, ONLY in the html, to XXX.jar? That should specifically fail because the jar doesn't exist. However if you get the same error then I would suppose that your jar is not being found on the server (thus it won't be in your client and not in the class path.) That is a guess though.
|
|
|
|
|
Thanks for the suggestion. I will try the solution proposed.
|
|
|
|
|
Hello,
public class Doc extends PlainDocument {
private static final long serialVersionUID = 1L;
protected Element createBranchElement(Element parent,AttributeSet a)
{
return super.createBranchElement(parent, a);
}
}
public class TestDocView {
Doc D = new Doc();
AbstractDocument.BranchElement E1 = (BranchElement) D.getDefaultRootElement();
D.createBranchElement(E1, A);
}
I get runtime error for
D.createBranchElement(E1, A);
saying Illegal casting of AbstractDocument.BranchElement.
How should I use CreateBranchElement()?
Thanks
Prithaa
|
|
|
|
|
a runtime Error??
Please use an IDE. Eclipse and Netbeans are free. No need to work on console.
Your Exception pops because the method createBranchElement(Element parent, AttributeSet a) is inheriated from AbstractDocument[^]. I guess it doesn't return much.
|
|
|
|