Download testbed2.zip
See also
Testbed2.java
// Testbed2.java import java.awt.*; import java.awt.geom.*; import javax.swing.JPanel; import javax.swing.JFrame; import javax.swing.JButton; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class Testbed2 extends GridPanel { Capacitor c1 = new Capacitor(); JButton button; Testbed2() { button = new JButton("Rotate"); ButtonHandler handler = new ButtonHandler(); button.addActionListener( handler ); } public void drawContent(Graphics g) { c1.draw(g); } // inner class for button event handling private class ButtonHandler implements ActionListener { // handle button event public void actionPerformed( ActionEvent event ) { double angle = c1.angle + 45.0; if (angle>=360.0) angle = 0.0; c1.setAngle(angle); repaint(); } } // end private inner class ButtonHandler public static void main( String args[] ) { EventQueue.invokeLater(() -> { Testbed2 panel = new Testbed2(); JFrame application = new JFrame("Testbed2"); JPanel bp = new JPanel(); bp.add(panel.button); application.add(bp,BorderLayout.SOUTH); application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); application.add(panel); application.setSize(496,358); application.setVisible(true); }); } }
Maintained by John Loomis, updated Thu Feb 20 14:51:00 2020