⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demo.java

📁 gcc的组建
💻 JAVA
字号:
/* Demo.java -- And example of MIDI support   Copyright (C) 2005 Free Software Foundation, Inc.This file is part of GNU Classpath examples.GNU Classpath is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2, or (at your option)any later version.GNU Classpath is distributed in the hope that it will be useful, butWITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNUGeneral Public License for more details.You should have received a copy of the GNU General Public Licensealong with GNU Classpath; see the file COPYING.  If not, write to theFree Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA02110-1301 USA. */package gnu.classpath.examples.midi;import java.awt.*;import java.awt.event.*;import java.util.*;import javax.sound.midi.*;/** * An example how javax.sound.midi facilities work. */public class Demo extends Frame implements ItemListener{  Choice midiInChoice = new Choice();  Choice midiOutChoice = new Choice();  MidiDevice inDevice = null;  MidiDevice outDevice = null;    ArrayList inDevices = new ArrayList();  ArrayList outDevices = new ArrayList();  public Demo () throws Exception  {    MenuBar mb = new MenuBar ();    Menu menu = new Menu ("File");    MenuItem quit = new MenuItem("Quit", new MenuShortcut('Q'));    quit.addActionListener(new ActionListener()      {	public void actionPerformed(ActionEvent e)	{	  System.exit(0);	}      });    menu.add (quit);    mb.add(menu);        setTitle("synthcity: the GNU Classpath MIDI Demo");    setLayout(new FlowLayout());        MidiDevice.Info[] infos = MidiSystem.getMidiDeviceInfo();    for (int i = 0; i < infos.length; i++)      {	MidiDevice device = MidiSystem.getMidiDevice(infos[i]);	if (device.getMaxReceivers() > 0)	  {	    midiOutChoice.addItem(infos[i].getDescription());	    outDevices.add(device);	  }	if (device.getMaxTransmitters() > 0)	  {	    midiInChoice.addItem(infos[i].getDescription());	    inDevices.add(device);	  }      }    setMenuBar (mb);    add(new Label("MIDI IN: "));    add(midiInChoice);    add(new Label("   MIDI OUT: "));    add(midiOutChoice);    midiInChoice.addItemListener(this);    midiOutChoice.addItemListener(this);    pack();    show();  }    public void itemStateChanged (ItemEvent e)  {    try      {	if (e.getItemSelectable() == midiInChoice)	  {	    if (inDevice != null)	      inDevice.close();	    inDevice =  (MidiDevice) 	      inDevices.get(midiInChoice.getSelectedIndex());	  }		if (e.getItemSelectable() == midiOutChoice)	  {	    if (outDevice != null)	      outDevice.close();	    outDevice = (MidiDevice)	      outDevices.get(midiOutChoice.getSelectedIndex());	  }		if (inDevice != null && outDevice != null)	  {	    if (! inDevice.isOpen())	      inDevice.open();	    if (! outDevice.isOpen())	      outDevice.open();	    Transmitter t = inDevice.getTransmitter();	    if (t == null)	      System.err.println (inDevice + ".getTransmitter() == null");	    Receiver r = outDevice.getReceiver();	    if (r == null)	      System.err.println (outDevice + ".getReceiver() == null");	    	    if (t != null && r != null)	      t.setReceiver (r);	  }      }    catch (Exception ex)      {	ex.printStackTrace();      }  }  public static void main (String args[]) throws Exception    {      new Demo();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -