Component Tools let you develop applications by combining, modifying, and customizing existing components such as ActiveX controls or JavaBeans. Often, such tools are either embedded or bundled with a general development tool suite. If you are developing ActiveX controls, which currently implies that you are targeting a Microsoft Windows only environment, then Microsoft's own tools such as Microsoft J++ are hard to beat. The only caution is that while tools such as Microsoft J++ can be used to develop pure, cross-platform Java code, doing so disables many of their advanced features. Use the tool's advanced features, which is what differentiates the tool in the first place, and you once again become locked into a Microsoft Windows environment. A good cross-platform alternative is Sun's JavaStudio tool for creating applications from JavaBeans. Besides producing 100% pure Java code, JavaStudio itself is written in Java. That means the tool can run on any platform supporting the correct Java virtual machine. Some of the Interactive Development Environment tools previously discussed that support JavaBeans development include Symantec Cafe, Sun's Java Workshop, and Imprise's JBuilder.