01: import java.awt.*; 02: import java.awt.geom.*; 03: import java.awt.event.*; 04: import javax.swing.*; 05: 06: /** 07: A program that allows users to edit a scene composed 08: of items. 09: */ 10: public class SceneEditor 11: { 12: public static void main(String[] args) 13: { 14: JFrame frame = new JFrame(); 15: frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 16: 17: Container contentPane = frame.getContentPane(); 18: final ScenePanel panel = new ScenePanel(); 19: 20: JButton houseButton = new JButton("House"); 21: houseButton.addActionListener(new 22: ActionListener() 23: { 24: public void actionPerformed(ActionEvent event) 25: { 26: panel.add(new HouseShape(20, 20, 50)); 27: } 28: }); 29: 30: JButton carButton = new JButton("Car"); 31: carButton.addActionListener(new 32: ActionListener() 33: { 34: public void actionPerformed(ActionEvent event) 35: { 36: panel.add(new CarShape(20, 20, 50)); 37: } 38: }); 39: 40: JButton removeButton = new JButton("Remove"); 41: removeButton.addActionListener(new 42: ActionListener() 43: { 44: public void actionPerformed(ActionEvent event) 45: { 46: panel.removeSelected(); 47: } 48: }); 49: 50: JPanel buttons = new JPanel(); 51: buttons.add(houseButton); 52: buttons.add(carButton); 53: buttons.add(removeButton); 54: 55: contentPane.add(panel, BorderLayout.CENTER); 56: contentPane.add(buttons, BorderLayout.NORTH); 57: 58: frame.setSize(300, 300); 59: frame.show(); 60: } 61: } 62: 63: