Hey i am looking forward to make a report generation software for windows in java but i am confused regarding the use of tools like JASPER ,BIRT etc? Can Java SE ,jdbc and Javafx is not sufficient for building such type of software ?
Programs like Jasper (or Crystal Reports) are known as Report Writers. A Report Writer is an application whose domain is limited to reports, so the domain language is not required to be as flexible as a general programming language must be. In fact, it's better that it isn't.
Most report writers work using a declarative language, rather than a procedural language. Declarative languages don't have looping capabilities. You state what is to be done, not how to do it. Because there's only a limited number of statements, it's much easier to automatically validate the report definition than it would be if you coded the report as a program. Now a report writer almost always does look over the data set being reported, but that loop is built into the report writer, not coded by the report designer. In short, there's virtually no debugging required when using a report writer. The "debugging" is almost all about where to put stuff and what calculations are done, not if/then/else or do/while.
Often there's a GUI designer associated with the report writer. This makes it easier to design in a what-you-see-is-what-you-get mode, and it makes it easier for people without any training in software design and coding to layout reports. The GUI then saves the design as a file or something similar. One report writer I use a lot uses XML. Editing XML directly on a large and complex report design can be a real pain so the GUI allows me to do it using the DDD approach (drag, drop, drool).
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.