Λίγο ξεθάψιμο στο topic αλλά τι να κάνουμε, έχουμε απορίες 
Για αρχή, και το πιο σημαντικό που θα ήθελα να μάθω, είναι τον τρόπο με τον οποίο μπορώ να αφαιρέσω από ένα java frame ένα κουμπί που έχω φτιάξει. Εννοώ προφανώς κατά το running του προγράμματος. Ή εναλλακτικά πως μπορώ να αλλάξω το φόντο του κουμπιού του. Ότι δοκιμές κι αν έκανα δεν οδηγούσαν σε κάτι δυστυχώς.
Αν με το "αφαιρέσω" εννοείς να το αφαιρέσεις οπτικά, τότε χρησιμοποίησε την μέθοδο της setVisible(boolean flag) της JButton ως broThisIsTheButtonIWantToMakeInvisible.setVisible(false); κάπου, ενδεχομένως σε συνδυασμό με mouse listeners και λοιπά.
Αν εννοείς να το διαγράψεις εντελώς στην κυριολεξία και να το καταπιεί ο garbage collector και να μην το ξαναδείς πότε στη ζωή σου κλπ κλπ, τότε δεν υπάρχει "έτοιμος" τρόπος, γιατί δεν είναι συγκεκριμένο task.
Η λογική είναι η εξής: αφαιρείς το κουμπί απ΄το JPanel σου ή κάποιο αντίστοιχο Container με την remove, (myPanel.remove(shittyButton); ), θέτεις την αναφορά του κουμπιού σου να δείχνει σε null ώστε ο gc να περισυλλέξει το άχρηστο αντικείμενο ευκολότερα, κι εν τέλει κάνεις κι ένα revalidation καλώντας την myPanel.revalidate(); που αν θες να δεις τι κάνει αναλυτικά, δες το java reference της: με λίγα λόγια "επανατακτοποιεί" το layout. Ενδεχομένως να πετυχαίνει και η invalidate().
Τελικά, για να ΄σαι καθαρός, επαναζωγράφισε τη φάση σου με myPanel.repaint();
Λογικά θα δουλεύει όλο αυτό. Δεν το ΄χω χρησιμοποιήσει ποτέ προσωπικά.
Συμβουλές: Μην ξεχνάς να τσεκάρεις για null αναφορές, ειδικά σε καλόντα αντικείμενα (όπως εδώ το JPanel ή το όποιο Container).
Μια αναφορά που δεν δείχνει σε αντικείμενο, δε μπορεί να καλέσει κάποια μέθοδο. (you don't say) Εδώ βέβαια, ίσως είναι περιττό, οκ.
Σε μια κατάσταση mouse event handling θα κινηθείς έτσι:
public void actionPerformed(ActionEvent ae) {
JButton button = (JButton) ae.getSource(); //Παίρνω ένα ActionEvent με συγκεκριμένα χαρακτηριστικά εκ των οποίων με νοιάζει πολύ, προφανώς, η πηγή του γεγονότος αυτού. Φυσικά casting because you're a pro.
if (mySexyPanel != null && button != null) //overly suspicious java programmer
{
mySexyPanel.remove(button);
button = null; //overly attached to memory handling java programmer
mySexyPanel.revalidate();
mySexyPanel.repaint();
}
}
Κάτι τέτοιο γενικά.
Όλες οι απαντήσεις βρίσκονται στο standard Java API.