<TABLE> <S> <C>
<PAGE>
<ARTICLE> 5
<S> <C>
<PERIOD-TYPE> 12-MOS
<FISCAL-YEAR-END> JUN-30-2000
<PERIOD-START> JUL-01-1999
<PERIOD-END> JUN-30-2000
<CASH> 1,172,651
<SECURITIES> 0
<RECEIVABLES> 11,517,449
<ALLOWANCES> 933,885
<INVENTORY> 15,718,172
<CURRENT-ASSETS> 29,882,299
<PP&E> 34,282,550
<DEPRECIATION> 18,891,834
<TOTAL-ASSETS> 53,708,771
<CURRENT-LIABILITIES> 10,107,016
<BONDS> 0
0
0
<COMMON> 80,357
<OTHER-SE> 26,779,322
<TOTAL-LIABILITY-AND-EQUITY> 53,708,771
<SALES> 66,736,194
<TOTAL-REVENUES> 66,736,194
<CGS> 46,066,849
<TOTAL-COSTS> 60,332,228
<OTHER-EXPENSES> (16,843)
<LOSS-PROVISION> 0
<INTEREST-EXPENSE> 873,577
<INCOME-PRETAX> 5,547,232
<INCOME-TAX> 2,004,676
<INCOME-CONTINUING> 3,542,556
<DISCONTINUED> 0
<EXTRAORDINARY> 0
<CHANGES> 0
<NET-INCOME> 3,542,556
<EPS-BASIC> 0.45
<EPS-DILUTED> 0.43
</TABLE>