jpanel 没有加到jfram里面
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;public class ButtonFrameTest { public static void main(String[] args) { ButtonFrame frame = new ButtonFrame();
frame.setTitle("Button Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true); }}class ButtonFrame extends JFrame {
private JPanel buttonPanel;
private static final int DEFAULT_WIDTH = 300;
private static final int DEFAULT_HEIGHT = 200; public ButtonFrame() {
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); buttonPanel = new JPanel(); makeButton("Blue", Color.BLUE);
makeButton("Red", Color.RED);
makeButton("Yellow", Color.YELLOW);

this.add(buttonPanel); } public void makeButton(String name, final Color backgroundColor) {
JButton button = new JButton(name);
buttonPanel.add(button); button.addActionListener(new ActionListener() { @Override
public void actionPerformed(ActionEvent e) {
buttonPanel.setBackground(backgroundColor);
}
}); }}