I’m making calendar program in processing. In the process of adding a schedule for each day, I should make Plan_Day class array in This_Day class. But I got java.lang.reflect.InvocationTargetException on and over again. Please help me
The part of main code is,
This_Day[] days = new This_Day[300];
for(int row = 0; row < rowCount; row++) {
start = data.getString(row, 1);
end = data.getString(row, 2);
if(start == null) {
start = end;
}
if(end == null) {
end = start;
}
try{
d_start = formatter2.parse(start);
d_end = formatter2.parse(end);
}
catch(ParseException e){}
int day_gap1 = m_date.compareTo(d_start);
int day_gap2 = M_date.compareTo(d_end);
if(day_gap1 <=0 && day_gap2 >= 0) {
Plan_Day p = new Plan_Day(d_start, d_end, data.getString(row, 3), data.getString(row, 4), data.getInt(row, 5));
days[(int)p.plan_num].day_append(p);
}
}
for(int i = 0; i < days.length; i++) {
days[i].day_put();
if(keyPressed == true && key == ' '){
days[i].day_putdata();
}
}
Then the Plan_Day class is,
public class Plan_Day{
Date start, end;
String title, discription, f_start, f_end;
int done, plan_count_num;
long plan_num;
Plan_Day (Date s, Date e, String t, String d, int don) {
start = s;
end = e;
title = t;
discription = d;
done = don;
f_start = formatter2.format(start);
plan_num = (end.getTime()-m_date.getTime())/(24*60*60*1000);
}
void put(int t) {
fill(0);
text(title+" "+plan_num, 0, 0);
font = createFont("Content1.TTF", 30);
textFont(font);
pushMatrix();
rotate(2*PI*plan_num/n);
rectMode(CENTER);
fill(#F2F2F2);
stroke(#262626);
rect(0, -100-50*t, 100*sin(2*PI/n), 150, 5);
popMatrix();
}
void putdate(int t) {
fill(0);
text(title, (200+50*t)*sin(2*PI*plan_num/n), -(200+50*t)*cos(2*PI*plan_num/n));
text(f_start, (300+50*t)*sin(2*PI*plan_num/n), -(300+50*t)*cos(2*PI*plan_num/n));
}
}
The This_Day class is,
public class This_Day {
Plan_Day[] plans;
Date this_day;
int num;
This_Day() {
}
void day_append(Plan_Day p){
plans = (Plan_Day[]) append(plans, p);
}
void day_put() {
if(plans.length == 0) return;
for(int i = 0; i < plans.length; i++) {
plans[i].put(i);
}
}
void day_putdata(){
for(int i = 0; i < plans.length; i++) {
plans[i].putdate(i);
}
}
}