import javax swing import java awt public class
import javax. swing. *; import java. awt. *; public class Traffic. Light extends JComponent { private static final int R = 10; private int click; // Брояч на състоянията на светофара public Traffic. Light() { super(); // Извиква контруктора на супер класа // Установява предпочитания размер на светофара set. Preferred. Size(new Dimension(100, 100)); } // Предефинира метода paint. Component на класа JComponent public void paint. Component(Graphics g) { // Извиква метода за изчертаване на супер класа 0 50 100 super. paint. Component(g); switch(click) {// Според състоянието на светофара case 0: // Състояние червено R=10 g. set. Color(Color. RED); 50 g. fill. Oval(50 -R, 2*R, 2*R); g. set. Color(Color. BLACK); 70 g. fill. Oval(50 -R, 70 -R, 2*R); 90 g. fill. Oval(50 -R, 90 -R, 2*R); 100 break;
case 2: // Състояние зелено g. set. Color(Color. GREEN); g. fill. Oval(50 -R, 90 -R, 2*R); g. set. Color(Color. BLACK); g. fill. Oval(50 -R, 70 -R, 2*R); g. fill. Oval(50 -R, 2*R, 2*R); 0 break; case 1: // Състояние жълто (от червено към зелено) case 3: // Състояние жълто (от зелено към червено) g. set. Color(Color. YELLOW); 50 g. fill. Oval(50 -R, 70 -R, 2*R); g. set. Color(Color. BLACK); 70 g. fill. Oval(50 -R, 2*R, 2*R); 90 g. fill. Oval(50 -R, 90 -R, 2*R); break; 100 } } public void switch. Over(int click) { this. click = click; repaint(); } } // Превключва светофара 50 100 R=10
import javax. swing. *; import java. awt. event. *; public class Traffic. Light. Demo extends JFrame implements Mouse. Listener { private Traffic. Light t; private JPanel panel; private int click; // Брояч на състоянията на светофара public Traffic. Light. Demo() { super("Светофар"); set. Default. Close. Operation(JFrame. EXIT_ON_CLOSE); Container container = get. Content. Pane(); panel = new JPanel(); t = new Traffic. Light(); panel. add(t); container. add(panel, Border. Layout. CENTER); t. add. Mouse. Listener(this); click = 0; // Установява светофара в състояние "червено" set. Size(200, 200); set. Visible(true); }
// Предефинира метода mouse. Clicked (събитие „натискане надолу // бутона на мишката“ public void mouse. Clicked(Mouse. Event evt) { click++; if (click == 4) click = 0; t. switch. Over(click); // Превключва светофара } public void mouse. Released(Mouse. Event evt) {} public void mouse. Entered(Mouse. Event evt) {} public void mouse. Exited(Mouse. Event evt) {} public void mouse. Pressed(Mouse. Event evt) {} public static void main(String[] args) { Event. Queue. invoke. Later(new Runnable() { public void run() { new Traffic. Light. Demo(); } }
Събитие Mouse. Event Слушател / Адаптерен клас Методи Mouse. Listener Mouse. Adapter add. Mouse. Listener mouse. Pressed mouse. Released mouse. Clicked mouse. Entered mouse. Exited Mouse. Motion. Listener Mouse. Motion. Adapter add. Mouse. Motion. Listener mouse. Moved mouse. Dragged Key. Event Key. Listener Key. Adapter add. Key. Listener key. Pressed key. Released key. Typed Window. Event Window. Listener Window. Adapter add. Window. Listener window. Activated window. Closing window. Deactivated window. Deiconified window. Iconified window. Opened
Събитие Слушател Методи Action. Event Action. Listener add. Action. Listener action. Performed Document. Event Document. Listener add. Document. Listener change. Update insert. Update remove. Update Item. Event Item. Listener add. Item. Listener item. State. Changed List. Selection. Event List. Selection. Listener add. List. Selection. Listener value. Changed
Компонента JFrame JPanel JButton JLabel Събитие Компонента Mouse. Event JMenu. Bar Mouse. Motion. Event JMenu Key. Event JMenu. Item Window. Event JCheck. Box. Menu. Item Action. Event - JText. Field Action. Event JText. Area Document. Event JCheck. Box Action. Event Item. Event JRadio. Button Action. Event Item. Event JCombo. Box Action. Event Item. Event JList. Selection. Event Събитие Action. Event JRadio. Button. Menu. Item. Event
- Slides: 10