When using DefaultEdgeLabelRenderer, setBackground and setForeground is ignored when painting the label, because in getEdgeLabelRendererComponent they are set to vv.getBackground() and vv.getForeground() respectively. That makes impossible to see labels with background without having to create your own implementation.
Anyway, if those method were not to be used, they didn't need to be added