package com.ramussoft.pb.dmaster; import java.awt.BorderLayout; import java.awt.Container; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JSpinner; import javax.swing.SpinnerNumberModel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class TestFrame extends JFrame { public TestFrame() { setDefaultCloseOperation(EXIT_ON_CLOSE); this.setSize(new Dimension(800, 600)); setLocationRelativeTo(null); setContentPane(createContentPanel()); } SimpleTemplate model = new ClassicTemplate(); private Container createContentPanel() { final JPanel panel = new JPanel() { @Override public void paint(Graphics g) { super.paint(g); model.paint((Graphics2D) g, this.getBounds()); } }; final JPanel res = new JPanel(new BorderLayout()); res.add(panel, BorderLayout.CENTER); final JSpinner slider = new JSpinner( new SpinnerNumberModel(4, 2, 8, 1) { }); res.add(slider, BorderLayout.SOUTH); slider.addChangeListener(new ChangeListener() { public void stateChanged(final ChangeEvent e) { model.setCount(((Number) slider.getValue()).intValue()); TestFrame.this.repaint(); } }); return res; } /** * @param args */ public static void main(final String[] args) { /*Main.dataPlugin = new NDataPlugin(); final TestFrame f = new TestFrame(); SwingUtilities.invokeLater(new Runnable() { public void run() { f.setVisible(true); } }); */ } }