Giving an application a window icon in a sensible way

D

Dag Sunde

Twisted said:
For a query of "java resource loading", not "java icon loading" which
is one of the ones I used, and other similar ones.

It is not exactly fair to fault me for not using the exact query you
just used. Also, there's the factor that you know exactly what answer
you're looking for, so a) when you tried one related query and didn't
get it, you tried more queries and posted one that produced the
planned conclusion, and b) you recognized the significance of
"ClassLoader.getResource" when you saw it in excerpts by search hits,
whereas I went by the text in the excerpts in deciding what looked
like a promising result.

This supports my conclusion that one frequent cause of problems is
that search engines work mainly when you already know, in detail,
exactly what you're looking for. It's easy to find Porsches with it;
hard to find a car recommendation for a given requirement and budget.
Easy to find ClassLoader.getResource, hard to find "how to incorporate
application icons portably in Java". Etc.

eh...?

Goggle: image icon load java applet

First link

Doesn't sound like a query where I know about .getResource() does it?

This is more a question of spoonfeeding the search-engines when you
don't know exactly what you're looking for.
 
L

Larry Barowski

Twisted said:
And another one manages to miss the mark by a country klick.

I'm not using *any* tool to jar up my project -- not yet, anyway.

Apparently you didn't read the third sentence of my post. If
you're not using a jar file, just put the image file somewhere
in with the class files. getResource() will find it. It doesn't
matter that you are using Eclipse.
 
L

Larry Barowski

Twisted said:
* Find out how to make it get included in the jar automatically;

Something you only need to find out once. I don't use Eclipse,
but I took a quick look and found that if the image file is added
to the project, it will be included in the jar file by default.
* Find out how to make it build the jar for every test automatically;

There is no need to do this. It will work when run from the
class files.
* Have the application do I/O and error recovery on startup, which it
didn't previously have to do;
* Now that it can die at startup with a file not found or whatever
error, make it gracefully report the problem when it does so, and
suggest fixes;

Do you do I/O and error recovery for missing class files?
Just let the app die with an exception if an image file is
missing, the same as it will if a class file is missing.
* Worry about end-users' inevitably encountering said problem and
having no clue anyway how to find the file and put it where it needs to
be or otherwise fix whatever went wrong -- likely, their recourse will
have to be to reinstall the app. Yuck! I'll be looking an awful lot
like Microsoft then -- my stuff stops working and has to be reinstalled
and such!

Again, do you worry about this for missing class files?
If an end-user starts messing with the files in your
application's distribution, then all bets are off.
 
T

Twisted

Thomas said:
Twisted wrote on 21.11.2006 15:27:

NetBeans is an IDE just like Eclipse...

Aren't beans a RAD tool? I'm allergic to RAD tools. RAD tools are
considered harmful. You probably shouldn't use RAD tools anymore -- I
think you've already taken a possibly-lethal RAD dose to the
brainstem...
 
T

Twisted

Dag said:
eh...?

Goggle: image icon load java applet

Contrived queries where you already know exactly what you want to find
prove nothing. Particularly not when they aren't even remotely
plausible -- since I am not developing an applet, why on earth would it
occur to me to put "applet" in the query? Sheesh. At least try a
*little* harder. :)
 
T

Twisted

Larry said:
Apparently you didn't read the third sentence of my post. If
you're not using a jar file, just put the image file somewhere
in with the class files. getResource() will find it. It doesn't
matter that you are using Eclipse.

Mixing "source" files (files I create) with object files (files the
compiler creates) is something I was taught to try to avoid, you know...
 
T

Thomas Kellerer

Aren't beans a RAD tool? I'm allergic to RAD tools. RAD tools are
considered harmful. You probably shouldn't use RAD tools anymore -- I
think you've already taken a possibly-lethal RAD dose to the
brainstem...

I'm *not* talking about RAD, I'm talking about how an IDE can actually
support what you want to do. And I'm sure Eclipse can do the same.

Btw: NetBeans is probably (out-of-the-bxo) the most complete free IDE
for Web Development and EJB development that you can currently get.

Thomas
 
J

Joe Attardi

Wow. I can't believe this thread is still going on.

At this point I have no clue how you still can think the classloader
method is so error-prone and/or complex. Is there something about the
classloader approach that you still do not understand? Everyone here
has explained it over and over until they are blue in the face, so I
don't think that's it.

You seem to be ignoring and/or rejecting what everyone else is saying
simply because it isn't the way you thought of to do it. It's like when
you ask someone advice on what you should get for lunch - you don't
really care much what they think, because you already made up your mind
before you even asked.

What I really don't get is why you have to be so snarky/sarcastic just
because you disagree. Instead of thinking about what is being said, you
just keep repeating the same exaggerated claims over and over, about
what a big inconvenience it will be on you and your compile-test-debug
cycle. If this is such an issue, I have to ask what the hell you are
using for a build process. Does it consist of simply typing 'javac
*.java' ? If not, then it's trivial to add another step to copy the
image(s) to the class folders.

You are right that you shouldn't mix source files with
object/class/output files. The image(s) should be in an image source
directory, img/ or something. They get copied over to the build
directory when you do a build; they now are resources in the classpath.
They haven't changed form, but in this context they aren't source files
any longer.

Windows executables aren't much different. In that case, ICO files are
embedded in the EXE as resources for icons. So this is not a novel
technique only applied by us Java folks.

And as for your other question, no, beans are not a RAD tool. If you
are thinking of a JavaBean, in its most basic form a JavaBean is
nothing more than an object with some properties, and corresponding
getXXX() and setXXX() methods for those properties. In the context of
NetBeans, it's just a name. As another poster said, NetBeans is just
another editor/IDE like Eclipse or JBuilder.
 
D

Dag Sunde

Twisted said:
Contrived queries where you already know exactly what you want to find
prove nothing. Particularly not when they aren't even remotely
plausible -- since I am not developing an applet, why on earth would
it occur to me to put "applet" in the query? Sheesh. At least try a
*little* harder. :)

That was an honest attempt!
Nothing contrieved about it.

No conspiracy!

It was the first words that popped into my mind (I do mostly applety
programming).
 
D

Daniel Dyer

This has been mentioned time and again, but it leads to the obvious
issue that either multiple projects clutter the one directory with
their resources, or each project needs its own, and each directory
needs to be added to the class path on the development system. I can
easily see that hitting limits, especially on Windows systems which
have positively archaic limits on path lengths, when many projects have
been/are being developed on one computer.

I agree entirely, global classpaths are a bad thing. If you have a
%CLASSPATH% variable that includes all classes from multiple projects,
it's a recipe for subtle bugs. If you have different versions of the same
class (or different classes with the same fully-qualified name) in
separate projects, one of your projects will break.

I'd recommend to delete the CLASSPATH environment variable and use
project-specific classpaths instead. One way to do this is by specifying
the -classpath switch at runtime. Better still, if everything is packed
into a JAR file, then all you need to do is have that one JAR file on the
classpath:

java -classpath myjarfile.jar com.mydomain.MyClass

Further, if you specify the Main-Class attribute in the JAR file's
manifest, it will be executable. In this case, you don't have to
explicitly specify a classpath at all:

java -jar myjarfile.jar
That contention has yet to be addressed by anyone with any suggestions,
corrected misconceptions, or whatnot. The impression I have is that
each project needs its own resource directory, added to the class path
on the development system, and manually packaged as an extra step at
distribution time, absent additional investment in tools and learning.

The two points I'd contend would be having to add it to the classpath on
the development system (see above), and having to manually package the
classes. Automating the build is good for productivity. It will speed up
your edit/build/debug cycle. Also, if you ever have to perform more than
one action to build the project, you are introducing the possibility of
making mistakes. That is why so many people have been advocating the use
of Ant. If you don't want to use Ant, there is probably some way of
automating the building of a JAR file from Eclipse, but I don't use
Eclipse so I can't help there.

If you did want to give Ant a try, you could post the layout of your
project here (i.e. the directory structure) and I (or somebody else) could
give you a simple, working build.xml file to get you started.
Adding additional I/O work and dependencies on external files to the
startup is a "very simple approach"? By what measurement of "simple"?
Changing the icon to be done your way is equivalent to externalizing
some strings, say for localizability. It adds complexity and potential
points of failure (what does the app do for recovery if, at runtime, it
can't find the strings? this failure can't happen for literals but can
for externalized strings), and requires additional tools and knowledge
of the coder versus including them literally. Without a corresponding
benefit (e.g. localizability) why bother?

If the resources are packaged inside a JAR file, there are no external
files to load. If the user has the JAR file (as they must in order to run
the app) then they also have the resources.

Dan.
 
W

wesley.hall

Twisted said:
I'd still be
leery of its only home being in the jar; properly, files like that are
part of the source code too and should be housed with it and just
*copied* into the jar. Preferably automatically. Now maybe this can be
done, but if so, nobody has bothered to tell me so, or suggest how.

You have to recognise that there are three broad types of file that we
are discussing here, source files, compiled files, and resources.
Images, XML documents, property files etc are resources, not source
files. Your jar file can simply have a 'resources' directory with your
resource files inside and you can use
getResource("resources/myimage.gif"). If you do not have a jar file
(but I would strongly recommend it) you just make sure the resources
directory is at one of your classpath roots (which doesnt have to be
global, can be set in a start up script) and it will work just the
same.

The automatic solution you seek is ant. I can only repeat what others
have said, ant is a very worthwhile tool to add to your repotoire and
is not hard to learn at all. When you have put your ant build together
(and consider looking at open source projects for examples) you will
have grown as a developer and will wonder why you ever did it any
other way... you have my personal guarentee on that (for what it is
worth).
I changed it several times, tweaking it, without difficulty last night
-- it's a matter of re-exporting the image, then pasting in a different
string array literal, and that's all.

You are in a common situation, you have a solution that works, but
others are telling you to do it another way. In software development,
"but my way works fine!" is a wonderful defence, and in your current
application, I can see no immediate reason to change.

However, recognise that your solution will not easily scale. You may
soon be working on applications where there are many non-java
resources. There many be many different people, with many different
skills working on these resources. Very quickly, you will get into a
situation where you are constantly updating these bizarre,
uninterpretable strings. You wont know which string represents which
file, you will find that you do a build and have forgotten to update
the string to the new one representing the last update your gfx
designer has made etc etc. What people are trying to tell you is, that
while you solution works functionally, it could be regarded as a bad
habit. If you break it now, and accept that while your solution is very
novel, there is a reason why the rest of the Java community uses the
provided getResource method, you will be better off in the long term...
another personal guarentee on that.
* Find out how to make it get included in the jar automatically;
Ant

* Find out how to make it build the jar for every test automatically;
Ant

* Have the application do I/O and error recovery on startup, which it
didn't previously have to do;

The fact that IOException is checked (or infact that java even has
checked exceptions) is a point of theorectical debate. It is reasonable
for your code to catch and IOException, print and error and exit. If
you get this error, somebody has tampered with the Jar file after
release. If I took a hex editor to winword.exe and removed some stuff,
I would expect it to error out also :)
* Now that it can die at startup with a file not found or whatever
error, make it gracefully report the problem when it does so, and
suggest fixes;

Again, this can only happen if your users are tampering. As long as you
build your jar file and deliver it with the image inside, it will not
just out by itself.

In general, I have to say, I admire the way you stick to your guns, and
this isnt really a question of "right and wrong". It is just that there
are disadvantages to your approach that you are either unwilling or
unable to see, and advantages to getResource that you are treating in
the same way. You refuse to learn ant because it is "yet another thing"
but correct use of this tool will solve most of the problems you have.
If you are pushed for time on delivery of your current software, then
continue with your current approach, it works. You should, however, put
aside some time to see how everyone else is solving the problem. Learn,
grow and get the same satisfaction out of working with standard tools
as you did in coming up with your unconvential yet functional solution
to the problem at hand.

I wish you luck.
 
I

Ian Wilson

Twisted said:
The graphic would need to be located somewhere on, apparently, the
class path. Somewhere the app will find it when run in my development
environment, and simultaneously where Eclipse would know to copy it
into any jar I end up building.

All the above conditions are met by simply putting the icon file into
your project.
Perhaps there's some simple way to
configure an Eclipse project with a directory to hold external
resources for them to be treated this way automagically;

There is. Its so simple I find it hard to believe you don't know of it.
if so, I
haven't run across it yet.

Just right click on the project name in the Package Explorer, choose
"new" then "folder", give it a name (e.g. "resources").

Then right-click that folder choose "import", navigate to your image and
select it.

Done.

The "huge chunk of API" you refer to is in fact a single line of code
that loads an image from such a folder. Easily found using Google.

This arrangement works fine just using the "Run" option in Eclipse.

If you deploy using a Jar, the code doesn't need any changes either.

Putting the image in a Jar for deployment is a matter of following a Jar
wizard in eclipse. No change to the code. You can save the jar
description so that repeats are right-click description and choose "Jar".

All the above I found, as a Java novice, quite easily using google and
just playing around with eclipse.
 
O

Oliver Wong

Thomas Kellerer said:
I'm *not* talking about RAD, I'm talking about how an IDE can actually
support what you want to do. And I'm sure Eclipse can do the same.

More explicitly, beans and NetBeans are not the same thing. It sounds
like Twisted is thinking of Beans where Thomas is talking about NetBeans.

- Oliver
 
O

Oliver Wong

You seemed to have taken my post as an attack on you. That was not the
intention.

Twisted said:
Well, let's see ... what do I do differently?

Oh yeah, of course. When I ask a question I'm asking a question rather
than engaging in some kind of social ritual. What I expect is an answer
rather than a question or riddle of some kind. Also, when challenged by
the alpha male I tell them to go shove it or simply ignore them rather
than bow down in submission and make all of the right noises, because
as I said, I didn't come here to engage in some kind of social ritual.

Maybe one of the things you do differently is consider certain posts to
be a challenge from an alpha male, which causes you to react in a certain
way, which attracts those posts you don't seem to enjoy receiving.

I'm not actually challenging you for dominance; I consider dominance in
whatever little hierarchy you have here to be completely irrelevant to
my goals, and you're welcome to keep it as long as you don't insist on
involving me in submission rituals of some kind or another just to keep
your ego well-fed.

Maybe one of the things you do differently is to believe that there's a
dominance hierarchy here, among the posters.
I am simply looking for the answer to a question.
And oh, yes, that means that when what I get is not in the form of an
answer, I pointedly remind people that this is not Jeopardy! and you
most emphatically do not have to phrase your response in the form of a
question.

Maybe one of the things you do differently is to believe that someone
asks you a question, they are not trying to help you.
Any questions? :)

No. I'm trying to offer you an alternative perspective to help you
escape this problem of the perception that everyone's ganging up on you, or
something like that. If you don't want help (perhaps because you don't think
you have this problem), then feel free to ignore my posts.
"I have discovered a bug" might be; "I may have" certainly is not, and
shouldn't be considered even to be particularly contentious considering
that it *is* beta software we're talking about.

You may defend the logic of your choice of words all you want, but this
does not change their emotional impact. Saying you found a bug is generally
considered a bad idea, unless you're very confident that there is, in fact,
a bug involved.

http://catb.org/esr/faqs/smart-questions.html#id273206
<quote>
When you are having problems with a piece of software, don't claim you have
found a bug unless you are very, very sure of your ground. Hint: unless you
can provide a source-code patch that fixes the problem, or a regression test
against a previous version that demonstrates incorrect behavior, you are
probably not sure enough.
[...]
When asking your question, it is best to write as though you assume you are
doing something wrong, even if you are privately pretty sure you have found
an actual bug. If there really is a bug, you will hear about it in the
answer. Play it so the maintainers will want to apologize to you if the bug
is real, rather than so that you will owe them an apology if you have messed
up.
</quote>

Usually when people follow this advice (particularly in the lower
paragraph), they tend to get the answers they want. Consider the "infinite
loop with http requests" post at
http://groups.google.com/group/comp.lang.java.programmer/msg/2a0e0a602c02320c
The poster shows his/her source code, explains why it doesn't make sense
that the program should loop forever (How can "" not be equal to ""?), and
then rather than ending with "Is this a bug in the JVM?" ends it with "Any
insights would be appreciated - thanks!". And they got an answer: use
..equals() for string comparsion, rather than ==.
Curious -- it's you people that want me, the newbie, to bow down
submissively and act all meek and awed around your alpha males and
never, ever, question them, and generally to answer any question put to
me while you reserve the right to ignore mine; I'm the one treating
this as a medium of information exchange rather than yet another venue
in which to vie for the Testosterone Junkie of the Month Award(tm).

I think you may be thinking in terms of "us (or me) versus them" where
it's not appropriate. As hinted at above, when someone asks you a question,
it is usually because that information is helpful in solving your problem.
Misbehavior triggered by encountering a Java applet, while researching
a Java-related issue. Hardly offtopic. Far less so than, say, personal
criticisms directed against particular posters in this newsgroup would
be, hm?

Sorry to be blunt but IMHO, your stories are distracting and largely
uninteresting. In one example, we were discussing 64 bit and 32 bit CPUs and
OS and their compatibilities with each other, and you interrupted your
question with an explanation of how your browser had messed up because of
google mail or something like that. And your explanation was *long*. I was
sighing, wondering why I had to read all of this stuff just to actually get
to your question. I considered myself to be doing you a favor to actually
read through all that to find the question, so that I could actually answer
it, rather than just give up and abandon the thread. I'm not asking for your
gratitude or appreciation or anything like that: It was *MY* decision to
actually read through all that, so you don't owe me anything. I'm just
giving you an alternative perspective on the conversation -- one you may not
have been aware of.
Someone is actually man enough to admit that they may be wrong? Wow.
Maybe I misjudged ... some of you.

Yes, I think you may have misjudged a lot of the posters here. This
group is very reasonable as far as newsgroups go. There's a very low ratio
of trolls (I think I saw PofN post here though, and (s)he's a troll, so
ignore him/her), and I don't think every single time a regular said
something factually incorrect, they admitted it.
Suggestions that implicitly question my competence notwithstanding, I
presume?

Yes, exactly. If you feel someone has insulted you, just ignore that
aspect of the post, but don't nescessarily ignore the post altogether. It
may still contain advice for your problem, and if it contains questions, try
to answer them.

Seriously, ignore insults is very effective in getting things done.
Another surprise -- you said "for certain situations"! OK, you
definitely scored some points on that one.

Again, I don't think anyone here would claim that one solution is better
than another solution for all situations. In fact, I was going to suggest
the solution you undertook: to hardcode the image directly in the class
file, if you were really having problems with using the classloader. I.e. I
would advise you to try the classloader solution first, and if that really
didn't work, as a last resort, go with hardcoding the file. Except you
figured this out on your own, so I didn't bother to make the post.
OTOH, I'm still awaiting
some details regarding this "standard" solution, in the form either of
the details themselves or a (safe) URL (preferably a *.sun.com URL,
which obviously would carry extra credibility).

You might want to make it more explicit that you're awaiting the
standard solution. From my reading of this thread, my impression is that you
would not accept the standard solution, even if provided with it.

Anyway, here it is: http://www.devx.com/tips/Tip/5697

It's not a *.sun.com URL, but from fairly quick inspection of the
provided source code (17 lines including import statements and empty lines),
I think it's obvious that this program won't reformat your harddrive or
anything, so you can just try running it to see if it really does what it
claims to do.
As, I suppose, might I -- having found something and even fixed a bug
in it myself is definitely more of an accomplishment than having
followed a rote, canned routine...


I'm aware of its limitations -- both in scaling, and in cases where
there are direct advantages to separating a resource from the core
binaries. Those limitations might apply to some stuff in the future, at
which time I might as well move the icon (which would be easy) to the
same place as this hypothetical other stuff. Until then, YAGNI appears
to apply. Also, of course, I'm still missing the information that
people seem to assume I either have or could easily find. Information I
might add that they apparently assumed I could easily find once before,
an assumption that proved to be wrong once before. I've no guarantee
that plugging in "getResource" and following the first plausible
instructions I see won't *also* result in disapproval stemming from
further decision branches. Researching it myself led to a disapproved
result once, so obviously it's plausible that it may do so again.

Maybe you should just not care about disapproval so much.
[Snip remaining paragraph, which seems to slide a bit and suggest,
without coming out and stating, a possible insult.]

That last part was directed to "everyone else", rather than to you. I
was basically commenting on my being perplexed at people pushing a solution
to you that you obviously don't want. I re-read it to see where you might
have inferred an insult, and I see I used the word "stupid". I didn't mean
to say your idea is actually stupid. I'm saying that their thinking your
idea is stupid is not a rational reason for pushing their solution: Because
people should be free to make stupid decisions if they want. So if they
wanted rationally to push their solution to you, they needed a better reason
for doing so.

- Oliver
 
O

Oliver Wong

[...]
As for "books written on the subject", that is an option for someone
with a higher budget than I. Keep your recommendations and
(revenue-generating, no doubt) Amazon links to yourself, please.

The only person who posts revenue generating Amazon links in this group
AFAIK is Roedy, and he hasn't posted in a long time, let alone in this
thread.
And
don't you *dare* suggest that "if you can't afford xyz, you shouldn't
touch any development tool with a ten foot pole", lest I call you a
filthy capitalist pig that discriminates against the poor and supports
raising the barrier to entry to entrepreneurial activities to protect
an incumbent CEO class from any risk of ever facing something
resembling actual competition, then launch into a lengthy political
diatribe.

Ouch. Well, we certainly don't want *THAT*.

However note that no one in this thread, AFAIK, has suggested that not
being afford something means anything at all. I think the majority of us
uses free tools (namely Eclipse, NetBeans, Java itself, etc.).

[...]
I didn't say I wouldn't. I did say I wouldn't follow it *blindly*, and
certainly that I won't follow "advice" that consists of vague
suggestions lacking detail in crucial areas. "Get and use tool X"
without any real detail (not so much as the URL where the tool's
official Web page resides, assuming it even has one) and "Do this"
suggestions that leave a lot of questions that, when asked, go
unanswered except with flamage, do not exactly encourage me to be
trusting.

Make it more explicit. If you want information, ask a question. For
example, rather than saying "I still haven't gotten a link to Ant.", post
"Where can I download Ant?".
I still haven't heard anyone tell me any of the following, which is
behavior that I find suspicious:
* From those who recommended getting Ant, its official URL at minimum.
http://ant.apache.org/

* Regarding getResource, the exact way to have the resource found when
the app is tested in the development environment *without* either
jumbling every project together *or* overloading the system class path
with a sub directory for every project.

There are many ways to do this. Try this (off the top of my head, if it
doesn't actually work, let me know and I'll investigate further): create a
package called "resource". Put a class "ResourceManager" in that package,
which does all the calls to getResource. Put all your resources in that
resource package, perhaps under some directory hierarchy. Make all the
getResource URLs relative to that ResourceManager class.
* Regarding getResource, the exact way to have that same resource
automatically included into a jar when one is built, when the time
comes. One person suggested that Eclipse can be made to do this,
without saying anything in detail about how. Others suggested Ant would
be needed, without saying anything in detail about how to do it with
Ant.

I think when you tell Eclipse to make a JAR, it'll do this by default.
Right click on the project, choose export, and tell the wizard you want to
export to JAR. You'll need to specify which class contains your public
static void main(String[]) method, but otherwise you can leave everything
else to their default settings.

- Oliver
 
D

Daniel Pitts

Twisted said:
* Worry about end-users' inevitably encountering said problem and
having no clue anyway how to find the file and put it where it needs to
be or otherwise fix whatever went wrong -- likely, their recourse will
have to be to reinstall the app. Yuck! I'll be looking an awful lot
like Microsoft then -- my stuff stops working and has to be reinstalled
and such!

This tends to be a non-issue. It's just as likely to be missing a
..class file from a jar than to be missing a .jpg file. I don't see why
you make the distinction, there is truely nothing special about a
..class file as far as files are concerned. And frankly, I think the
error message "Couldn't find icon file 'c:/program
files/myapp/resources/myapp.jpg'" is a lot nicer error message that
"NoClassDefFoundException: net.twisted.IconClass."

As far as I know, the class loaders uses getResource internally to get
the .class file.

Also notice, you have now spent more energy defending your approach
than you would have taken to learn the new approach. What could it hurt
you to experiment with getResources for half an hour, and see for
yourself that it is or isn't what you need?
getResources DOES NOT require you have a jar file, but it DOES ALLOW
you to have a jar file, or a file somewhere else.

Well, I hope I never have to work on the same codebase as you. Its
never fun to work with a stubborn programmer who doesn't have enough
experience to back up their claims. You're expierence is "I found it
on google, so it must be right." Our experience is "We've used this
approach many times, and it works very well."

Enjoy the monster you are creating, and when you find you need to
rewrite it because its become impossible to maintain, consider using
getResources instead.
 
T

Twisted

Joe said:
You are right that you shouldn't mix source files with
object/class/output files. The image(s) should be in an image source
directory, img/ or something. They get copied over to the build
directory when you do a build; they now are resources in the classpath.
They haven't changed form, but in this context they aren't source files
any longer.

"They get copied over" -- how? By magic? Or are you suggesting adding
loads of new, manual steps to every build?
And as for your other question, no, beans are not a RAD tool. If you
are thinking of a JavaBean, in its most basic form a JavaBean is
nothing more than an object with some properties, and corresponding
getXXX() and setXXX() methods for those properties...

As shown on the Sun Web site, their function seems to be rapid
application development.
 
T

Twisted

Daniel said:
The two points I'd contend would be having to add it to the classpath on
the development system (see above), and having to manually package the
classes. Automating the build is good for productivity. It will speed up
your edit/build/debug cycle.

Exactly my point -- thank you.

You see, I don't know how to add external resources and still have an
automatic build. :p

There probably is a way, of course...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top