aspose file tools*
The moose likes Beginning Java and the fly likes Calendar/Protected Access Help Please Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Calendar/Protected Access Help Please" Watch "Calendar/Protected Access Help Please" New topic
Author

Calendar/Protected Access Help Please

Glen A Scheel
Greenhorn

Joined: Jan 06, 2005
Posts: 3
Hello All,

I am trying to write a small program that will take a string input, look at the length, parse it as an int value, then feed that value to a GregorianCalendar object as milliseconds, then display the corresponding date.

Here is the code for the ActionListener:

private class dateAction implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
String f = input.getText();
int inCode = 0;

if (f.length() <= 9) inCode = Integer.parseInt(f.trim(), 16);
else
{
inCode = Integer.parseInt(f.trim());
}

Time mDate = new Time(inCode);
GregorianCalendar calendar = new GregorianCalendar();
calendar.setTimeInMillis(inCode);
calendar.computeFields();


f = calendar.MONTH + " " + calendar.DAY_OF_MONTH + ", " + calendar.YEAR;

output.setText(" " + f);
}
}

This code gives me the following compile time error:

HexVerify.java:79: computeFields() has protected access in java.util.GregorianCalendar
calendar.computeFields();
^
I have looked up protected access and I guess I just don't understand what it's saying well enough to see why I am getting the error.

Can someone enlighten me?

Thanks,

Glen
Carol Enderlin
drifter
Ranch Hand

Joined: Oct 10, 2000
Posts: 1364
Looks like it is used internally by Calendar/GregorianCalendar. It's protected, so subclasses and classes in the same package have access to it.

Why did you think you need to call it?


calendar.setTimeInMillis(inCode);
calendar.computeFields();


I peeked at the source for Calendar and computeFields() is called by setTimeInMillis()
[ February 10, 2005: Message edited by: Carol Enderlin ]
Glen A Scheel
Greenhorn

Joined: Jan 06, 2005
Posts: 3
I added it into the code because I thought that a different problem was being caused by the setTimeInmillis not updating the other fields. However , it now looks like it was because I was using the wrong datatype for my input field.

Thanks for looking into it for me. I believe that I have it working properly now.

Glen
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Calendar/Protected Access Help Please