DataLab-J is a software signal and image processing laboratory which has proved effective both as an educational "workbench" and in practical operational use. It requires a pedagogical tool, a research environment, and a fully operational data analysis system, i.e., it is used not only in undergraduate engineering courses, but in graduate study and general research. The system must be easily extendable, e.g., to allow undergraduates to perform practical programming of standard digital filters and image processing algorithms, or to provide a realistic platform upon which novel algorithms can be implemented. On a further dimension, the system must handle seamlessly and efficiently three broad data types: digital signals (sequences), images (possibly multiband), and multivariate data sets. The system is implemented in the programming language Java. DataLab-J has been operational for four years, has been used in an undergraduate image processing course, and as a platform for a great many dissertation projects. In addition it is in everyday use within a university signal and image processing research group.