<TABLE> <S> <C>
<PAGE>
<ARTICLE> 5
<LEGEND>
THIS SCHEDULE CONTAINS SUMMARY FINANCIAL INFORMATION EXTRACTED FROM FINANCIAL
STATEMENTS FOR THE YEAR ENDED JUNE 30, 2000 AND IS QUALIFIED IN ITS ENTIRETY BY
REFERENCE TO SUCH FINANCIAL STATEMENTS.
</LEGEND>
<S> <C>
<PERIOD-TYPE> YEAR
<FISCAL-YEAR-END> JUN-30-2000
<PERIOD-START> JUL-01-1999
<PERIOD-END> JUN-30-2000
<CASH> 2,527,000
<SECURITIES> 0
<RECEIVABLES> 2,088,000
<ALLOWANCES> 474,000
<INVENTORY> 4,791,000
<CURRENT-ASSETS> 10,796,000
<PP&E> 7,144,000
<DEPRECIATION> (5,844,000)
<TOTAL-ASSETS> 25,038,000
<CURRENT-LIABILITIES> 3,005,000
<BONDS> 0
0
0
<COMMON> 26,152,000
<OTHER-SE> (7,719,000)
<TOTAL-LIABILITY-AND-EQUITY> 25,038,000
<SALES> 14,748,000
<TOTAL-REVENUES> 14,748,000
<CGS> 7,968,000
<TOTAL-COSTS> 7,968,000
<OTHER-EXPENSES> 5,265,000
<LOSS-PROVISION> 0
<INTEREST-EXPENSE> 510,000
<INCOME-PRETAX> 1,090,000
<INCOME-TAX> 557,000
<INCOME-CONTINUING> 533,000
<DISCONTINUED> 0
<EXTRAORDINARY> 0
<CHANGES> 0
<NET-INCOME> 533,000
<EPS-BASIC> .10
<EPS-DILUTED> .10
</TABLE>