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