Custom Java components for UI