/* * Created on Oct 17, 2004 * */ package jmsltestsuite; import java.awt.GridLayout; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; import com.didkovsky.portview.swing.ViewFactorySwing; import com.softsynth.jmsl.JMSL; import com.softsynth.jmsl.score.Score; /** * Build a GUI in Swing. Put a couple of Swing-compatible Score Canvases in a * JFrame. * * @author Nick Didkovsky, didkovn@mail.rockefeller.edu * */ public class SwingScoreCanvasTest { public SwingScoreCanvasTest() { // Set JMSL's view factory to generate Swing components // JMSL.setViewFactory(new ViewFactorySwing()); // Every Score will generate its own rendering canvas Score.useSharedCanvas(false); JFrame jFrame = new JFrame("JMSL Score + Swing, (c) Nick Didkovsky, 2004"); // build and populate a couple fo Scores with notes Score score1 = new Score(1, 300, 100); score1.addMeasure(); score1.addNote(1.0, 60, 0.5, 0.8); score1.addNote(1.0, 62, 0.5, 0.8); score1.addNote(1.0, 64, 0.5, 0.8); score1.addNote(1.0, 66, 0.5, 0.8); Score score2 = new Score(1, 300, 100); score2.addMeasure(); score2.addNote(1.0, 70, 0.5, 0.8); score2.addNote(1.0, 72, 0.5, 0.8); score2.addNote(1.0, 74, 0.5, 0.8); score2.addNote(1.0, 76, 0.5, 0.8); jFrame.getContentPane().setLayout(new GridLayout(0, 1)); jFrame.getContentPane().add(score1.getScoreCanvas().getComponent()); jFrame.getContentPane().add(score2.getScoreCanvas().getComponent()); jFrame.pack(); jFrame.setVisible(true); jFrame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } public static void main(String[] args) { new SwingScoreCanvasTest(); } }