Okay, here's what I've found.
1) DON'T USE PACK()!
JFrame.pack() is good some times, but NOT here. Use JFrame.setSize(int, int) (I set it to 250 x 135, and it looks great). using pack here makes it look squished (which it is!).
2) Set the default recipe
In your constructor (after creating the test recipe, and adding it to the JComboBox), set the selected index/item to 0 or test respectively. (that will ensure that the ratings show up at creation)
3) Don't use 2 JLabels for the rating!
Find a way to use one, and show the word "Rating: ", and the stars, or create a class that can display them horizontaly:
class RatingLabel extends JPanel{
ImageIcon stars;
RatingLabel(int stars){
switch(stars){
// Go through cases to load images...
}
this.add(new JLabel("Rating"));
this.add(nww JLabel(stars));
}
public void setRating(int stars){
//same as switch above
}
// Other methods to add/remove stars, ect
}
I'm pretty sure that should get things working. =)