public class MooGUI extends JFrame implements WindowListener {
private Sequence seq;
+
+ private JPanel trackPanel;
+ private MooTrackView[] trackViews;
private JLabel statusBar;
- // private MooView view;
+
+ public static Font standardFont = new Font("Helvetica", Font.PLAIN, 10);
/**
* Creates the GUI.
*/
public MooGUI(Sequence seq) {
super("Moosique");
+
+ this.seq = seq;
+
+ Container pane = getContentPane();
+ pane.setLayout(new BorderLayout());
// Adds menu bar.
setJMenuBar(new MooMenu());
// Adds toolbar.
- getContentPane().add(new MooToolbar(), BorderLayout.NORTH);
+ pane.add(new MooToolbar(), BorderLayout.NORTH);
addWindowListener(this);
-
- // Adds one track.
- getContentPane().add(new MooTrackView(), BorderLayout.CENTER);
- addWindowListener(this);
-
- // Adds main view.
- // view = new MooView();
- // Adds status bar.
- //statusBar = new JLabel("Welcome to Moosique!", Label.CENTER);
+ // Adds tracks.
+ trackPanel = new JPanel(true);
+ createTrackViews();
+ pane.add(trackPanel, BorderLayout.CENTER);
- //MooInstrumentList m = new MooInstrumentList();
- //getContentPane().add(m, BorderLayout.CENTER);
- //m.addKeyListener(new MooKeyboard());
- //pack();
+ // Adds status bar.
+ statusBar = new JLabel("Welcome to Moosique!", JLabel.CENTER);
+ pane.add(statusBar, BorderLayout.SOUTH);
- // Dimension bounds = new Dimension(300,70);
- // setSize(bounds.width,bounds.height);
- // setLocation((Toolkit.getDefaultToolkit().getScreenSize().width / 2) - (bounds.width / 2), (Toolkit.getDefaultToolkit().getScreenSize().height / 2) - (bounds.height / 2));
+ addWindowListener(this);
+ pack();
+ Dimension bounds = new Dimension(400,300);
+ setSize(bounds.width,bounds.height);
+ setLocation((Toolkit.getDefaultToolkit().getScreenSize().width / 2) - (bounds.width / 2), (Toolkit.getDefaultToolkit().getScreenSize().height / 2) - (bounds.height / 2));
// setResizable(false);
// setBackground(Color.white);
- pack();
setVisible(true);
+ show();
}
/**
*/
public void setSequence(Sequence sequence) {
seq = sequence;
+ createTrackViews();
}
/**
public void setStatus(String text) {
statusBar.setText(text);
}
+
+ private void createTrackViews() {
+ trackPanel.removeAll();
+ Track[] tracks = seq.getTracks();
+ trackViews = new MooTrackView[tracks.length];
+ for (int i = 0; i < tracks.length; i++) {
+ trackViews[i] = new MooTrackView(tracks[i]);
+ trackPanel.add(new MooTrackView(tracks[i]));
+ }
+ }
public void windowOpened(WindowEvent e) {}
public void windowClosing(WindowEvent e) {Moosique.quit();}