| Help to understand 'array of classes' example |
|
 |
Index ‹ java-programmer
|
- Previous
- 7
- passing RequestPath to error page from web.xmlHi,
I have pointed any errors to Error.jsp in my web.xml file (as shown).
<error-page>
<error-code>500</error-code>
<location>/Error.jsp?id=500</location>
</error-page>
As you can see I also pass the type of error, is there any way I can
pass the RequestPath that resulted in the error in the first place?
Cheers,
Paul
- 7
- JTable and Custom Default Cell Editors
From: "Erica Wheatcroft" <email***@***.com>
Subject: JTable
Date: Thursday, January 20, 2005 4:17 PM
HI -
I have a jtable that uses two custom default cell editors to create combo
boxes for two of the the 4 columns. If the user selects another value from
either of the combo boxes i want to know that so i can indicate a save must
occur. I'm not sure what event i should listen to? Does any one have any
suggestions?
Thanks in advance.
Erica
- 8
- Please help..nu bee correct probable path.. (?)
ahmed khalak wrote:
> Hi
> Thank in advance.... I am getting error when I run from prompt (cmd)..
> I installed Jdk1.5.0_09 path is C:\Program files\Java\Jdk1.......
> I have oracle 9i and oracle 10g installed...
> Path and classpath I have put correctly in windowxp.. as follow
> path=C:\oracle..etc ;C:\Program File\java\Jdk1.5.0_09\bin
> classpath= .;C:\Program File\java\Jdk1.5.0_09\lib\root.jar
> Now when I check version for java and javac.. in other then Jdk1 directory
> I am getting version 1.3.1 where as jdk gives me it version I checked oracle
> directories
> In Oracle directory.. jre show 1.3.1 directory...
> how can I correct this problem.. my simple program compiles but running from
> promp gives error..
>
> would highly appreciate help
> :-) just starting learning Java..
>
> A Khalak
Change the path setting so it reads:
PATH=C:\Program File\java\Jdk1.5.0_09\bin;C:\oracle;...
The OS looks for commands on the PATH from left to right, so starting
with java, then oracle, and so on.
Besides this. The classpath setting isn't really needed. This is a
general note which might bring in problems later. If you don't have a
real need for it, simply remove the classpath setting. You can still
pass it to the java command using the "-classpath" switch.
Regards,
Bart
- 8
- Running server-side Java on FreeBSD in production environments
So, I've seen a few mentions here of folks using Java server apps on
FreeBSD in production. I've been very happy to watch the progress by the
Java team on the native JDKs from the sidelines, as well as the
improvements to libc_r and such that have been MFC'd, but I'm curious as
to whether the consensus on this list is that it's ready to be used for
production. Anyone want to share good success or horror stories? We're
trying to determine whether the apache.org box can start to run our own
software. :) Speed is definitely less important than proper functioning.
Brian
_______________________________________________
email***@***.com mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-java
To unsubscribe, send any mail to "email***@***.com"
- 9
- Still looking for a Job?
http://www.xrecruiter.com is a SPAM free Recruiter Community. Post
your resume for free, get noticed directly by recruiters. Register for
free.
- 10
- Tomcat on Windows: JAVA_HOME & -Dsun.io.useCanonCaches'Apologies for posting this here, but I couldn't find any Tomcat user
forum.
A colleague is currently trying to run Tomcat 4.1.30 on Windows 2000
Professional. She first installed JRE2 1.4.2_08, and set %JAVA_HOME%
to the directory C:\j2re1.4.2_08 - I've run "java -version" and it
works fine.
(%JAVA_HOME%/home is in the path correctly).
She then installed Tomcat to C:\jakarta-tomcat-4.1.30.
However, when she runs catalina.sh start, she gets the following
error:
The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
Using CATALINA_BASE: C:\jakarta-tomcat-4.1.30
Using CATALINA_HOME: C:\jakarta-tomcat-4.1.30
Using CATALINA_TMPDIR: C:\jakarta-tomcat-4.1.30\temp
Using JAVA_HOME: C:\j2re1.4.2_08
'-Dsun.io.useCanonCaches' is not recognized as an internal or external
command,
operable program or batch file.
I've even tried adding the following to catalina.bat without success:
if not "%JAVA_HOME%" == "" goto gotJavaHome
set JAVA_HOME=C:\j2re1.4.2_08
:gotJavaHome
Can anyone see where we might be going wrong?
Cheers,
P.
- 10
- Getting JAVA_HOME at runtimeHello,
The Java ports infrastructure provides JAVA_HOME on build-time to
port's Makefile. But is it possible to get this variable from
/usr/local/bin/java at runtime?
How to change the Java version for a port at runtime in the rc
script? It is possible to set the preferred JDK in
/usr/local/etc/javavms but then JAVA_HOME still needs to be
set manually.
I would like to avoid hard-coding the JAVA_HOME at build time in
the rc scripts.
Any idea?
--
Jean-Baptiste Quenot
aka John Banana Qwerty
http://caraldi.com/jbq/
- 13
- getting Error: could not find libjava.so Re: building a jdk1.5
On Mar 3, 2007, at 5:18 PM, Bill Moran wrote:
>
>> On Mar 3, 2007, at 4:01 PM, Chad Leigh -- Shire.Net LLC wrote:
>>
>>> Hi
>>>
>>> I am trying to build jdk15 inside my jail with PREFIX set to /usr/
>>> public (At one time I successfully got jdk 1.4 to build after much
>>> hacking)
>>>
>>> I have the option for builing inside a jail set. We get to the
>>> point where the linux java is installed and it is actually building
>>> the jdk
>>>
>>> # Start of jdk build
>>> /libexec/ld-elf.so.1: /usr/local/lib/libiconv.so.3: Undefined
>>> symbol "__mb_cur_max"
>>> *** Error code 1
>>>
>>> Stop in /usr/ports/java/jdk15.
>>> #
>>>
>>> I am not exactly sure what it is doing at this point in order to
>>> hack round it. libiconv a fresh install from ports
>>>
>>
>> Turns out that the issue is that gmake cannot run. I have not
>> figured out why yet, having removed and reinstalled libiconv and
>> gmake and getting the same error. But it is not java related.
>>
>> I'll redirect this to -questions
>>
>> If anyone has an idea on why gmake would fail as above on a fresh
>> install, 6.2-RELEASE from a day or two ago, I would appreciate it.
>> Please CC me as I am not currently subscribed to -questions, though I
>> am on -java
>
> Not a direct answer to your question, but when I needed to do this
> a few months ago, I just did a "make package" on my workstation, then
> shipped the package up to the jail system and installed it with
> pkg_add.
>
> Doesn't solve the problem, but if you're in a pinch, it's a handy
> workaround.
>
OK, I had never done this before -- built a package from a port. So
I did this on the base machine and then copied it into the jail and
did a pkg_add like so
# pkg_add -P /usr/public -v jdk-1.5.0p4_1.tbz
as I wanted it installed in my local policy dir /usr/public (which
gets mounted RO in every jail). My 1.4.2 java on my other jail
server is installed like this (but was built inside the jail many
moons ago).
Now, when I try to run java I get
# java -version
Error: could not find libjava.so
Error: could not find Java 2 Runtime Environment.
#
Java is in /usr/public/jdk1.5.0/ (the same as my 1.4.2 on the other
server which is in /usr/public/jdk1.4.2/). libjava.so is inside the
lib dir and I thought that java was referential to itself so it could
find its libraries.
I also tried setting JAVA_HOME and JRE_HOME though I have not had to
do that in a long time.
The new 1.5 jdk is registered in the javavms file .
When I run the javavm script with /bin/sh -x it does run the correct
java and running it with an explicit path does not help.
# /bin/sh -x /usr/public/bin/javavm -version
+ _JAVAVM_SAVE_PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/pub/
sbin:/usr/pub/bin:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/root/
bin
+ export PATH=/bin:/sbin:/usr/bin:/usr/sbin
+ _JAVAVM_PREFIX=/usr/public
+ _JAVAVM_CONF=/usr/public/etc/javavms
+ _JAVAVM_OPTS_CONF=/usr/public/etc/javavm_opts.conf
+ basename /usr/public/bin/javavm
+ _JAVAVM_PROG=javavm
+ _JAVAVM_MAKE=/usr/bin/make
+ [ javavm = javavm ]
+ echo javavm: warning: The use of 'javavm' as a synonym for 'java'
is deprecated
javavm: warning: The use of 'javavm' as a synonym for 'java' is
deprecated
+ _JAVAVM_PROG=java
+ [ -r /usr/public/etc/javavm_opts.conf ]
+ . /usr/public/etc/javavm_opts.conf
+ _JAVAVM_OPTS=
+ setJavaHome
+ realpath
+ realpath /usr/public
+ [ -n -a /stubs/usr_local/etc/ssmtp != /usr/public ]
+ unset JAVA_HOME
+ _JAVAVM_PORTSDIR=
+ [ -r /usr/share/mk/bsd.port.mk ]
+ /usr/bin/make -f /usr/share/mk/bsd.port.mk -V PORTSDIR
+ _JAVAVM_PORTSDIR=
+ _JAVAVM_BSD_PORT_MK=
+ [ -n -a -r /Mk/bsd.port.mk ]
+ [ -n ]
+ [ ! -e /usr/public/etc/javavms ]
+ sed -E s|[[:space:]]*#.*||
+ uniq
+ _JAVAVM_VMS=/usr/public/jdk1.5.0/bin/java
/usr/public/linux-sun-jdk1.4.2/bin/java
+ [ -n ]
+ dirname /usr/public/jdk1.5.0/bin/java
+ JAVA_HOME=/usr/public/jdk1.5.0/bin
+ dirname /usr/public/jdk1.5.0/bin
+ JAVA_HOME=/usr/public/jdk1.5.0
+ basename /usr/public/jdk1.5.0
+ _JAVAVM_VM=jdk1.5.0
+ [ -n ]
+ [ -n ]
+ [ -n ]
+ [ -n /usr/public/jdk1.5.0 -a -f /usr/public/jdk1.5.0/bin/java ]
+ _JAVAVM_PROG_PATH=/usr/public/jdk1.5.0/bin
+ return 0
+ [ 0 != 0 ]
+ [ -x /usr/public/jdk1.5.0/bin/java ]
+ basename /usr/public/jdk1.5.0
+ setJavaOptions java jdk1.5.0
+ echo java
+ sed -e s/\./_/g -e s/-/_/g
+ local OPTS_PROG=java
+ echo jdk1.5.0
+ sed -e s/\./_/g -e s/-/_/g
+ local OPTS_JAVA_HOME=jdk1_5_0
+ eval echo ${JAVAVM_OPTS_jdk1_5_0_java}
+ local JAVA_HOME_PROG_OPTS=
+ eval echo ${JAVAVM_OPTS_jdk1_5_0}
+ local JAVA_HOME_OPTS=
+ eval echo ${JAVAVM_OPTS_java}
+ local PROG_OPTS=
+ [ -n ]
+ [ -n ]
+ [ -n ]
+ [ -n ]
+ export JAVA_HOME
+ tryJavaCommand /usr/public/jdk1.5.0/bin/java -version
+ [ -n ]
+ [ -x /usr/public/jdk1.5.0/bin/java ]
+ [ -n /sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/pub/sbin:/usr/
pub/bin:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/root/bin ]
+ export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/pub/sbin:/
usr/pub/bin:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/root/bin
+ exec /usr/public/jdk1.5.0/bin/java -version
Error: could not find libjava.so
Error: could not find Java 2 Runtime Environment.
#
What did I do wrong?
Thanks
Chad
---
Chad Leigh -- Shire.Net LLC
Your Web App and Email hosting provider
chad at shire.net
_______________________________________________
email***@***.com mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-java
To unsubscribe, send any mail to "email***@***.com"
- 13
- empty interfaces via reflectionOn Oct 14, 12:17 pm, "Aryeh M. Friedman" <email***@***.com>
wrote:
> On Oct 14, 6:01 pm, Steven Simpson <email***@***.com> wrote:
>
>
>
> > Aryeh M. Friedman wrote:
> > > Then how do you handle the return type?!?!?!? Namely I can't do:
>
> > > Class<?> testClass = loadTestClass();
> > > Object testInstance = testClass.newInstance();
> > > Result res=new Result();
>
> > > for (Method method: testClass.getDeclaredMethods())
> > > res.merge((Result) method.invoke(testInstance, new
> > > Object[0])); // cast exception
>
> > > The reason why it is not possible is any Result object created by a
> > > test is <MyClassLoader>.Result and all the results here are
> > > <SystemClassLoader>.Result
>
> > Looking back at an earlier post, your custom MyClassLoader goes like this:
>
> > > public class MyClassLoader extends ClassLoader
> > > {
> > > public Class loadClass(String name)
> > > {
> > > try {
> > > if(name.startsWith("java."))
> > > return super.loadClass(name);
>
> > A custom ClassLoader is expected to override findClass(String) rather
> > than loadClass(String), as the latter (indirectly) accomplishes this
> > behaviour:
>
> > <http://java.sun.com/javase/6/docs/api/java/lang/ClassLoader.html>
>
> > "When requested to find a class or resource, a ClassLoader instance will
> > delegate the search for the class or resource to its parent class loader
> > before attempting to find the class or resource itself."
>
> > MyClassLoader is loading Result instead of delegating to its parent
> > first, which should always find it first.
>
> I just tested:import java.io.*;
> import java.lang.reflect.*;
>
> public class MyClassLoader extends ClassLoader
> {
> public Class findClass(String name)
> {
> try {
> //if(name.startsWith("java."))
> // return super.loadClass(name);
>
> FileInputStream fis=new FileInputStream(name
> +".class");
> byte[] b=new byte[fis.available()];
>
> fis.read(b);
> fis.close();
>
> return defineClass(name,b,0,b.length);
> } catch(Throwable e) {
> e.printStackTrace();
> }
>
> return null;
>
> }
>
> and now the class loader no longer honors recompiled classes:
>
> Script started on Sun Oct 14 15:09:05 2007
> jtest@monster:/home/jtest% java Main
> 1
> ^Z
> Suspended
> jtest@monster:/home/jtest% cat foo
> import java.lang.reflect.*;
>
> public class MyClass
> {
> public MyClass()
> {
> ack=new Integer(2);
> }
>
> public Integer getAck()
> {
> return ack;
> }
>
> private int foo;
> private Integer ack;}
>
> jtest@monster:/home/jtest% cp foo MyClass.java
> jtest@monster:/home/jtest% javac MyClass.java
> jtest@monster:/home/jtest% fg
> java Main
>
> 1
> ^C
> jtest@monster:/home/jtest% exit
> Script ends on Sun Oct 14 15:09:45 2007
>
> Just for ref here is the new main():
>
> public class Main
> {
> public static void main(String[] args)
> throws Throwable
> {
> while(true) {
> ClassLoader loader=new MyClassLoader();
> Class klass=loader.loadClass("MyClass");
>
> MyClass m=(MyClass) klass.newInstance();
>
> System.out.println(m.getAck());
> System.in.read();
> }
> }
>
> }
You should simply use UrlClassLoader and have the system classpath not
include your code that needs to be reloaded, and the URLClassLoader
have the path that DOES need to be reloaded (creating a new instance
of that class loader every time you need to reload the class)
That way, Result will be properly loaded by the System class loader,
and your reloadable class wont.
Hoep this helps,
Daniel.
- 14
- Problem in configuring SSL in Tomcat5.5Hi,
I have Tomcat5.5 and J2sdk5 installed on my system. I wanted turn on
SSL services in tomcat. I went through the Tomcat Documentation and
did it exactly. I modified server.xml as below,
<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25"
maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
I also created certificate using keytool with default password as
"changeit" and alias as "tomcat".
I restarted the tomcat services too, and then tried to access the page
but i am not able to access it using https connection. Where as i am
able to access same page using Http connection.
Secondly, I am not able to access default tomcat Page too using Https
connection. Everything works fine in case of HTTP connection.
Following is the way iam trying to acces the page,
https://localhost:8443
Can any one help me out to find the problem.
I have IE 6 with SP2 installed on my system.
Thanks
Minesh
- 14
- Multiple installs of JDKWhen you do a silent install of the JRE you have the option to pass
PRIVATE=1, resulting in an install which doesn't check the registry
for a prior installation, and doesn't update the registry. You can
therefore have more than one install of the same JRE.
I need to find a similar capability for the JDK, but can't seem to. We
get rc=1603 on the second JDK install.
How can this be done...?
JDK >= 1.5.
{{{ Andy
- 14
- JAXB XML Max SizHello All:
I am using JAXB to reading (unmarshall) a XML feed which
is about 4GB of siz. The JAXB seems
can not doing its job. Any one knows how to solve this problem?
ps: does JAXB has a limitation over XML feed size?
Many Thanks!
- 14
- An efficient computation idea. Please commentHi,
In my program I evaluate long trigonometric polynomials a lot! For example,
final int N = 1000;
double[] c = new double[N];
// Populate c
double x = .5, sum = 0.0;
for (int i = 0; i < N; i++)
sum += c[i]*cos(i*x);
And this function is evaluated very many times (about 100,000). So why not
create a java snippet, compile it, load it as a class and use the compiled
version. So I would have something like;
String sum = "0"; // A String buffer, of course...
for (int i = 0; i < N; i++)
sum += "+" + c[i] + "*cos(" + i + "*x)";
sum += ";";
I think it's a pretty cool idea. But before I implement it, I would like to
know what you think about it!
Thank you in advance!
Aaron Fude
- 14
- Initialize managed bean with header information?We use Netegrity's SiteMinder for SSO security on all web apps.
Although SiteMinder handles security for accessing the application
itself, restrictions to certain functions and data are handled within
the application based on user type.
The user information (such as name, type, etc.) are passed in from
SiteMinder via header variables. ie:
hddr_user = Joe Blo
hddr_group = Admin
hddr_phone = 555-555-5555
I'm looking at different designs to capture all of this user
information from the headers at one time and store as a bean in the
user's session (so as to not need to continually reference the header
information).
Does anyone know if you can create a managed bean (ie. User) that is
initialized with header information (by using the configuration file
w/ value-binding expressions)?
- 16
- Simple GUI Image ProblemComputing student here, haven't used java for a while. Anyways, could someone put some example code as to how to put an image from a file onto a JPanel or JFrame. I just can't remember.
|
| Author |
Message |
ohaya

|
Posted: 2005-10-18 1:40:00 |
Top |
java-programmer, Help to understand 'array of classes' example
Hi,
I'm trying to create/use an array of classes, and I found the following
code snippet using Google Groups:
...
rectangle[ ] array_name = new rectangle[ 100 ]; // or whatever
size
for ( int n = 0; n < 100; ++n )
{
array_name[ n ] = new rectangle( );
}
...
int i = 99;
int wide = array_name[i].getwidth( );
...
The above snippet was from:
http://groups.google.com/group/comp.lang.java.programmer/msg/1ea4bbde51104914
What I'm trying to understand in the above snippet is the line where the
array is initialized:
rectangle[ ] array_name = new rectangle[ 100 ]; // or whatever size
Before I found that post, I was trying something like:
rectangle [] arrayName; // declear an array of 'rectangle classes'
.
.
rectangle[0] = new rectangle(); // instantiate rectangle/populate array
rectangle[1] = new rectangle(); // instantiate rectangle/populate array
I did it that way because I don't know the number of classes that I'll
want to have in the array of classes ahead of time.
The code per the snippet from the cited posts works, but my original
code would get a NullPointerException, and I don't understand why.
Can someone explain this?
Also, is it possible to do this in a way that I don't have to allocate a
fixed size array?
Thanks,
Jim
|
| |
|
| |
 |
jfbriere

|
Posted: 2005-10-18 2:02:00 |
Top |
java-programmer >> Help to understand 'array of classes' example
There are three things you should know:
1- Declaring an object does not instanciate it (create it).
When you have:
rectangle [] arrayName;
You declare the object 'arrayName' which is of type rectangle[] (array
of rectangle objects).
This does not instanciate it! Meaning no object have been created yet
in memory.
To instanciate it, you must do:
arrayName = new rectangle[100];
Which create an array of 100 slots, each of which must be a rectangle
object.
2- Creating the array of objects does not create the object elements
that the array will hold.
An array is just an holder of n slots of object to be created next.
By doing:
arrayName = new rectangle[100];
This creates the array (holder) of n slots that will contain rectangle
objects.
For the moment, all the 100 slots have the null value.
Next you do:
arrayName[0] = new rectangle();
arrayName[1] = new rectangle();
arrayName[2] = new rectangle();
...
This create n rectangle objects, and assign each of them to a given
slot of the array.
3- All arrays are fixed length. They are not growable.
You cannot do
arrayName = new rectangle[];
Then later decide how many slots will be created.
So what is the solution of your specific problem?
Don't use arrays.
Use java.util.ArrayList instead.
This is a list object, so it is growable.
In the end, when you have added all the objects needed,
you could allways convert it to an array (with fixed length).
Eg.:
// first we create the list
ArrayList list = new ArrayList();
// then we add all the elements
list.add(new rectangle());
list.add(new rectangle());
list.add(new rectangle());
// in the end, we could convert it to a fixed length array
rectangle[] arrayName = new rectangle[list.size()];
list.toArray(arrayName);
|
| |
|
| |
 |
darrell

|
Posted: 2005-10-18 2:35:00 |
Top |
java-programmer >> Help to understand 'array of classes' example
On Mon, 17 Oct 2005, ohaya wrote:
> Hi,
>
> I'm trying to create/use an array of classes, and I found the following
> code snippet using Google Groups:
>
> ...
> rectangle[ ] array_name = new rectangle[ 100 ]; // or whatever
> size
> for ( int n = 0; n < 100; ++n )
> {
> array_name[ n ] = new rectangle( );
> }
> ...
> int i = 99;
> int wide = array_name[i].getwidth( );
> ...
>
>
> The above snippet was from:
>
> http://groups.google.com/group/comp.lang.java.programmer/msg/1ea4bbde51104914
>
>
> What I'm trying to understand in the above snippet is the line where the
> array is initialized:
>
> rectangle[ ] array_name = new rectangle[ 100 ]; // or whatever size
>
>
> Before I found that post, I was trying something like:
>
> rectangle [] arrayName; // declear an array of 'rectangle classes'
> .
> .
> rectangle[0] = new rectangle(); // instantiate rectangle/populate array
> rectangle[1] = new rectangle(); // instantiate rectangle/populate array
>
> I did it that way because I don't know the number of classes that I'll
> want to have in the array of classes ahead of time.
>
> The code per the snippet from the cited posts works, but my original
> code would get a NullPointerException, and I don't understand why.
>
> Can someone explain this?
>
> Also, is it possible to do this in a way that I don't have to allocate a
> fixed size array?
>
> Thanks,
> Jim
The code:
rectangle[] r = new rectangle[10];
for(int i = 0; i < r.length; i++)
r[i] = new rectangle();
is short for:
rectangle r0;
rectangle r1;
rectangle r2;
rectangle r3;
rectangle r4;
rectangle r5;
rectangle r6;
rectangle r7;
rectangle r8;
rectangle r9;
r0 = new rectangle();
r1 = new rectangle();
r2 = new rectangle();
r3 = new rectangle();
r4 = new rectangle();
r5 = new rectangle();
r6 = new rectangle();
r7 = new rectangle();
r8 = new rectangle();
r9 = new rectangle();
The line:
rectangle[] r = new rectangle[10];
is short hand for declaring 10 variables than reference rectangle objects.
Another way to look at it is:
rectangle r;
rectangle[] s;
The variable r is a pointer to a rectangle object. The variable s is a
pointer to an array of rectangle objects. We have not declared an array so
s[0] is meaning less. You have to declare the array that holds the
references. Pictorially (might look bad if you don't have a
non-proportional font):
rectangle r;
r
+---+
| ---->
+---+
r = new rectangle();
r
+---+ +-----------+
| ---->| |
+---+ | new |
| rectangle |
| |
+-----------+
rectangle[] s;
s
+---+
| ---->
+---+
s = new rectangle[3];
s
+---+ +---+
| ---->| ---->
+---+ +---+
| ---->
+---+
| ---->
+---+
s[0] = new rectangle();
s
+---+ +---+ +-----------+
| ---->| ----------------->| |
+---+ +---+ | new |
| ----> | rectangle |
+---+ | |
| ----> +-----------+
+---+
Hopefully that is more clear.
--
Send e-mail to: darrell dot grainger at utoronto dot ca
|
| |
|
| |
 |
ohaya

|
Posted: 2005-10-18 4:17:00 |
Top |
java-programmer >> Help to understand 'array of classes' example
jfbriere and darrell,
Thanks for the clear explanations, especially about the ArrayList!
Jim
|
| |
|
| |
 |
Roedy Green

|
Posted: 2005-10-18 5:13:00 |
Top |
java-programmer >> Help to understand 'array of classes' example
On Mon, 17 Oct 2005 13:39:37 -0400, ohaya <email***@***.com> wrote or
quoted :
>What I'm trying to understand in the above snippet is the line where the
>array is initialized:
see http://mindprod.com/jgloss/gotchas.html#ARRAY
You have an array of Objects, namely Rectangles, not an array of
Classes.
That would be a Class[]
Finally see http://mindprod.com/jgloss/codingconventions.html
about how to capitalise names.
--
Canadian Mind Products, Roedy Green.
http://mindprod.com Again taking new Java programming contracts.
|
| |
|
| |
 |
| |
 |
Index ‹ java-programmer |
- Next
- 1
- TableCellRender puzzleBelow is a fairly simple TableCellRenderer for displaying an enum as
an Icon. That works fine. But I added a wrinkle, changing the
background colour depending on whether the row is selected.
No background colour changes happen, even though isSelected is true
when it should be. I wonder if I am missing something obvious.
package com.mindprod.vercheck;
import javax.swing.*;
import javax.swing.table.TableCellRenderer;
import java.awt.*;
/**
* render a the AppSate enum cell, use icon without text.
*/
final class AppStateRenderer implements TableCellRenderer
{
// ------------------------------ FIELDS
------------------------------
private static final JLabel template = new JLabel( "",
JLabel.CENTER );
private Color background;
private Color selectedBackground;
// -------------------------- PUBLIC INSTANCE METHODS
--------------------------
/**
* constructor
*
* @param background background colour
* @param selectedBackground background colour when seleced
*/
public AppStateRenderer( Color background, Color
selectedBackground )
{
this.background = background;
this.selectedBackground = selectedBackground;
}
public Component getTableCellRendererComponent( JTable table,
Object value,
boolean
isSelected,
boolean hasFocus,
int row,
int column )
{
System.err.println( "selected:" + isSelected + " " + row + " "
+ table.getSelectedRow() );
template.setIcon( ( (AppState) value ).getIcon() );
template.setBackground( isSelected? selectedBackground :
background );
return template;
}
}
--
Roedy Green, Canadian Mind Products
The Java Glossary, http://mindprod.com
- 2
- [ANN] RMI Plug-in for Eclipse v2.0A new version of the RMI Plug-in for Eclipse (v2.0) has been just released.
In the new version there are two new major features:
(*) RMI Spy - Live monitor of the RMI activity in an RMI application
(*) Ready to use examples - the best way of getting started with RMI in
Eclipse
The RMI Registry inspector has greatly improved and it can now invoke
almost any remote method (in previous version it was only possible to
invoke methods that receive no arguments).
Also new in v2.0 - enhanced Java 5 and Java 6 support.
The standard set of features includes
(*) Automatic stubs genaration
(*) Local RMI registry control (start/stop/clean)
(*) RMI Application Launcher - easy codebase and security policy
configuration.
More info at: http://www.genady.net/rmi/v20/
Genady Beryozkin,
Author of the RMI Plug-in for Eclipse
- 3
- How do i implement this interfacepublic interface AQuestion
{
public abstract void someMethod() throws Exception;
}
http://www.angelfire.com/or/abhilash/Main.html
see Question no 5.
How do i implement this interface ?
(1) problem is, it has an abstract method and hecne its complicated
to implement this class.
(2) another problem is, it is the public interface and hence we can not
make one more public class in the same file....because 1 file can have
only 1 public access specifier.
is it really possible to implement this interface ?
- 4
- Tiles Problem with definitions Error - Tag InsertHi to all,
I have a newbie problem and I would appreciate any help.
Thanks in advance.
I have the following constellation:
struts-config.xml:
<snip >
<plug-in className= "org.apache.struts.tiles.TilesPlugin " >
<set-property property= "definitions-config "
value= "/WEB-INF/tiles-defs.xml " / >
<set-property property= "moduleAware " value= "true " / >
<set-property property= "definitions-parser-validate " value= "true "
/ >
</plug-in >
<snap >
tiles-defs.xml
<snip >
<tiles-definitions>
<definition name="definitionName" page="/layouts/layout1.jsp">
<put name="title" value="to be specified" />
<put name="header" value="/tiles/header.jsp" />
<put name="footer" value="/tiles/footer.jsp" />
<pat name="body" value="to be specified" />
</definition>
</tiles-definitions>
<snap >
All referenced JSP exist in the webapp!
Additionally I have a JSP index.jsp that looks like this:
<snip >
<tiles:insert beanName="definitionName"/>
<snap >
There are no action-mappings in the struts-config.xml!
When I call the index.jsp I receive the following error:
org.apache.jasper.JasperException: Error - Tag Insert : No value
defined for bean 'definitionName' with property 'null' in scope
'null'.
I know, that means that there is no bean with this name in any
context.
I check this with <logic:notPresent name="definitionName"
scope="application">
But I have read that the in the case i figured out, all definitions in
tiles-defs.xml are available in the application context under their
"name" attribute. But it seems that I'm wrong.
Does anyone know what goes wrong here. Or do I have to use
action-mappings to work with xml-based definitions?
Greetings
Stephan
- 5
- To really foul things up requires a computerPartner just got back from a new government job with an amusing tale.
BC is a large province (about 1000 miles top to bottom) so the BC
government decided to set up a computer system so that any printout
could be directed to any printer in the province, thus saving on
courier costs.
However, the default is the system selects a non-busy printer, not
worrying particularly if it is 1000 miles from the intended recipient.
The printouts don't have proper headers to direct them to the person
eagerly awaiting them so most of the printouts ended up in the
shredder.
- 6
- javax and macim running mac os 9.2 with MRJ SDK 2.2. im tring to compile a class
importing javax.swing.*; it says it cant find it. i unziped all the
jars and i cant find javax anywhere. is this not supported on this os.
- 7
- where to find graphics for buttonsI'm searching for free graphics to grade up my app by using icons on the
buttons for edit, new, delete, save, cancel and so on.
Java class ImageIcons supports gif, jpeg and png format.
Anybody knows a free available source for this basic app icons?
- 8
- M.I'5.Persecut ion ` h ow a nd wh y d id it st art?-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-= how. and why did it start? -=
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
The harassment didn't start by itself, so someone. must have been there at
the outset to give it a firm push and set the "animals" after me. It. looks
as if I was. set up in June 1990, and the timing indicates someone from
university. was responsible.
>One thing which has. been missing from this discussion is this simple
>prognosis: that maybe he is. right and that, despite his admitted
>mental condition, there really is a campaign against. him organised by
>now-influential ex-students of. his university.
In May or June 1990, Alan Freeman on Radio 1 read out a letter from. someone
who had known me for a few years, who. wrote of the one who "wore out his
welcome with random precision" (from the Pink Floyd. song). Freeman went on
to say to the writer "that's a hell of a letter. you wrote there". The
indication is strongly that. people I had parted from soon before nursed a
grudge against me and were trying to. cause trouble for me.
The suggestion is that Freeman might have shown the letter. to other people,
and things could. have snowballed from there. Right from the start the real
source (security services presumed). didn't announce themselves as the
origin,. but let the "talkers", the radio DJs, believe that they were the
originators. Think about it; if you. announce, "we're MI5 and we have a
campaign against this bloke" then people might not go along. with it; but if
you say, "everyone else. is getting at this bloke because he 'deserves' it"
then people. will join in with fewer qualms.
>Why. would "they" wish to assassinate your character?
It's the classic case of hitting a cripple to prove you're. stronger. Why
would the security services expend hundreds of. thousands of pounds and more
than six years of manpower to try to kill a British citizen? Because. they
are motivated by people who knew me at. university and feel personal
animosity; because they knew me to be emotionally weak, and it is. in the
nature of bullies to prey on those known. to be weak; and because they can
rely on the complicity of the establishment, which the. security services
manipulate and derive funding from. This is. England's biggest humiliation
today,. and the British security services are intent on preventing their
humiliation becoming reality by. continuing their campaign of attempted
murder to suppress the. truth from becoming public.
10751
- 9
- J2ME internationalizationI want to provide the binary with *only one* language, because I want to
be as small as I can.
But I want to provide many binaries (one per language).
So, I write the code with hardcoded strings like "$_nearest_dist_$".
I write a file like:
-----english.ini----
$_nearest_dist_$=Nearest distance is 90m
--------------------
and I write a php script which in *.java files, replaces all strings in
form "$_*_$" with language correct string.
php phpWriteStringsToSource.php <project_folder> <language.ini>
THE BIG PROBLEM: I realize that *.java files must have ansi* encoding!
Any of utf-8, uc16le or be is not compiled correct!
So, what I can do?
- 10
- Great SWT ProgramIn article <email***@***.com>,
Twisted <email***@***.com> wrote:
> On Aug 21, 1:30 pm, Joe Attacki <email***@***.com> wrote:
> [Attacki misattributed the quoted text once again]
> [insulting nonsense deleted]
> > Honestly, I don't care if he advertises his open-source project in here,
> > but the fact that he was underhanded about it is what I took issue with.
>
> I've provided a reasonably plausible and much more charitable
> interpretation of his actions. You are quick to see malice where there
> may well be none;
Oh, the irony.
> probably because your own normal behavior is
> malicious, so you expect it of everyone else as your default model for
> a random person's mind is (as is normal) your self-model.
--
B. L. Massingill
ObDisclaimer: I don't speak for my employers; they return the favor.
- 11
- jEdit JavaDebuggerDoes anyone know how to set this plug-in up? I have loaded it in jEdit
but everytime I try and use it it gives a huge long error list and says
I need JDK 1.3 or above, even though I am using JDK 1.5!
Steve
- 12
- DOM Partial Document ParsingI am trying to build a Java client which will read a never ending XML
data stream from a socket. Here is a simplified example of the XML
document:
<?xml version='1.0' encoding='us-ascii'?>
<NeverendingDataStream>
<Data>1.0</Data>
<Data>2.0</Data>
followed by a continuous stream of <Data> elements from a server
application that may not send the closing </NeverendingDataStream> tag
for several hours or days.
The DocumentBuilderFactory and DocumentBuilder parser for building a
DOM object tree fails because of a missing end tag.
Is there a way to force partial document parsing? I have turned
validating off but it continues to throw a fatal error.
Thanks,
Gary V
- 13
- Roedy 's convertor, Where is Short ? Where is Byte?Hi Roedy,
This is what you advertise for in
http://www.mindprod.com/zips/java/converter.txt:
signed byte Byte
unsigned byte Byte
short Short
char Character
int Integer
long Long
float Float
double Double
char[] String
This is what you have in your code:
public static final String [] flavours = {
"boolean",
"/*signed*/ byte",
"/*unsigned*/ byte",
"short",
"char",
"int",
"long",
"float",
"double",
"String",
"Boolean",
"Character",
"Integer",
"Long",
"Float",
"Double"};
Noticed anything? Is it voluntary or did you forget java.lang.Byte
and java.lang.Short?
Either the advertisement or the code need to be updated.
My apologies if you have already explained why.
BTW, neat little tool I always come back from time to time.
Cheers, Mike
- 14
- generate certificate from PEMHi,
I am developing a middleware solution for our companyy. I have got 2
certifcates clkey.pem and clcert.pem for the final application. How I
can combine these 2 keys in 1 certificate? Do I need to first create
self signed certificate?
Thx in advance.
- 15
- LookAndFeelHi,
I have a couple of issues I'm trying to resolve. Hopefully someone will have
some ideas.
First, I've been unsucessful trying to get the MotifLookAndFeel working.
I've following every example I have (on paper) and nothing seems to work.
I've run the app on both the PC and Linux box; the window looks and feel
shows up on the PC and metal on the linux machine. Anyone know what's going
on or what could be missing?
Second, the app I've been working has a bunch of ToggleButtons and the color
of the button changes based on selection. All I do is set the background
color in the button press callback. Okay, fine. But when I run the code in
linux, I'm unable to change the color of the "select" mode of the Toggle
button. It always gray. Again. Does anyone know what's going on? From all my
years, this should be extremely simple. Why would it work correctly on the
PC and not in unix?
Thanks in advance.
Bryan
|
|
|