📄 jbuilder制作音频播放程序(2).htm
字号:
<TABLE width="100%" bgColor=#ffffff>
<TBODY>
<TR>
<TD>
<P>package myplayer;<BR>import
com.sun.media.sound.JavaSoundAudioClip;<BR>import
java.io.*;<BR>/**<BR>* <p>Title:
音频播放器</p><BR>* <p>Description:
</p><BR>* <p>Copyright: Copyright
(c) 2003</p><BR>* <p>Company:
</p><BR>* @author 放飞网<BR>* @version
1.0<BR>*/<BR>public class
AudioPlay<BR>implements Runnable {<BR> private
JavaSoundAudioClip locate,
warning;<BR> protected boolean
threadExit;<BR> protected boolean
stopped;<BR> protected boolean
playing;<BR> Thread playerThread;<BR> public
AudioPlay() {<BR> }<BR> public void start(File
f) {<BR> playing = true;<BR> stopped =
false;<BR> try {<BR> FileInputStream ff = new
FileInputStream(f);<BR> locate = new
JavaSoundAudioClip(ff);<BR> }<BR> catch
(Exception e)
{<BR> System.out.println("error");<BR> }<BR> playerThread
= new
Thread(this);<BR> playerThread.start();<BR>}<BR>public
void run() {<BR> if (playing) {<BR> if
(!stopped) {<BR> if (locate ==
null)<BR> System.out.print("nulll");<BR> try
{<BR> locate.play();<BR> System.out.print("test");<BR> }<BR> catch
(Exception ee) {}<BR> }<BR> }<BR> }<BR>public
void stop() {<BR> stopped = true;<BR> threadExit
= true;<BR> if (playing == true) {<BR> playing
=
false;<BR> locate.stop();<BR> }<BR>}<BR>public
void pause() {<BR> if (playing == true)
{<BR> locate.stop();<BR> }<BR>}<BR>}
</P></TD></TR></TBODY></TABLE>
<P><BR> 3.设计文件过滤FileFilter<BR><BR> 我们在使用Windows窗口打开文件时,经常会在文件类型的下拉框中看到多种相应的类型,这样可以限定用户所能够选定的文件类型,也可以提高用户选择文件的速度,因为这样将会只显示相应类型的文件。<BR>而Java中也提供了相应的类可以完成这一功能。<BR><BR> javax.swing.filechooser.FileFilter是一个定义好的抽象类,实现了文件过滤器的基本功能。它只有两个方法:public
abstract boolean accept(File f)和public abstract
String
getDescription()。由于文件过滤器在我们的程序中只用于Frame窗口中,所以鉴于封装性,我们将其定义为MyFrame的内部类,如下所示:<BR><BR></P>
<TABLE width="100%" bgColor=#ffffff>
<TBODY>
<TR>
<TD>
<P>// JScript source code<BR>class
WavFileFilter<BR>extends
javax.swing.filechooser.FileFilter {<BR>/**<BR>*
内部类<BR>* wav文件过滤器,用于打开文件对话框<BR>*/<BR> String
ext; // 文件扩展名<BR> WavFileFilter(String ext)
{<BR> this.ext = ext;<BR> }<BR>/**<BR>*
覆盖性方法<BR>* 参数所表示的文件是一个路径名还是一个真实的文件名<BR>* @param
file 将给打开的文件<BR>* @return 如果是路径, 返回true,
否则返回false<BR>*/<BR>public boolean accept(File
file) {<BR> if (file.isDirectory()) //
是目录,打开<BR> return true;<BR> String fileName =
file.getName();<BR> int index =
fileName.lastIndexOf('.');<BR> if (index > 0
&& index < fileName.length() - 1)
{<BR>// 表示文件名称不为".xxx"与"xxx."之类型<BR> String
extension = fileName.substring(index +
1).toLowerCase();<BR> if
(extension.equals(ext))<BR> return
true;<BR> }<BR> return false;<BR>}<BR>/**<BR>*
给出对特定文件类型的描述<BR>* @return
对文件类型的描述<BR>*/<BR>public String getDescription()
{ // 返回描述文件的说明字符串<BR> if
(ext.equals("wav"))<BR> return "Wav File
(*.wav)";<BR> return "";<BR>}<BR>}<BR>}
</P></TD></TR></TBODY></TABLE>
<P><BR> 4.设置成Windows格式<BR><BR> Java具有跨平台的特性,同时造成它的界面也比较独具“个性”。为了使界面更加美观,符合大多数Windows平台使用者的习惯,我们可以在Frame中加上下面一段代码:<BR><BR></P>
<TABLE width="100%" bgColor=#ffffff>
<TBODY>
<TR>
<TD>
<P>try
{<BR> UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());<BR> new
Test(); // 初始化所要现实的窗体<BR>}<BR>catch(Exception e)
{<BR> e.printStackTrace();<BR>}
</P></TD></TR></TBODY></TABLE>
<P><BR> 其中,javax.swing.UIManager可以获取和设置外观。getSystemLookAndFeelClassName()方法会自动过去当前系统平台,在通过setLookAndFeel方法就可以进行设置了。</P></TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD>
<TABLE class=buttomBorder cellSpacing=0
cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD class=Htitle align=left> --相关文章--</TD></TR>
<TR>
<TD class=about align=left>· <A
href="http://www.javazy.com/page/index.asp?sortid=469&id=1015">JBuilder开发常用的十九个快捷键</A>
(2005-07-09 点击:5) </TD></TR>
<TR>
<TD class=about align=left>· <A
href="http://www.javazy.com/page/index.asp?sortid=469&id=959">JBuilder2005创建开发文档之Javadoc</A>
(2005-07-06 点击:9) </TD></TR>
<TR>
<TD class=about align=left>· <A
href="http://www.javazy.com/page/index.asp?sortid=469&id=958">JBuilder2005创建开发文档之编写注释</A>
(2005-07-06 点击:6) </TD></TR>
<TR>
<TD class=about align=left>· <A
href="http://www.javazy.com/page/index.asp?sortid=469&id=957">JBuilder2005创建开发文档之创建文档</A>
(2005-07-06 点击:8) </TD></TR>
<TR>
<TD class=about align=left>· <A
href="http://www.javazy.com/page/index.asp?sortid=469&id=956">JBuilder2005创建开发文档之标签介绍</A>
(2005-07-06 点击:7) </TD></TR>
<TR>
<TD class=about align=left>· <A
href="http://www.javazy.com/page/index.asp?sortid=469&id=894">JBuilder光标问题的解决方案</A>
(2005-06-29 点击:27)
</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR><!-- #EndEditable --></TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD><!--ad--></TD></TR>
<TR>
<TD><!--ad--></TD></TR></TBODY></TABLE></TD>
<TD width=1
background=JBuilder制作音频播放程序(2).files/right.jpg></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=750 bgColor=#ffffff border=0>
<TBODY></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=750 bgColor=#ffffff border=0>
<TBODY></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=750 border=0>
<TBODY>
<TR>
<TD bgColor=#ffffff>
<TABLE cellSpacing=0 cellPadding=0 width=750 border=0>
<TBODY>
<TR>
<TD width=749>
<TABLE cellSpacing=1 cellPadding=1 width="100%" border=0>
<TBODY>
<TR>
<TD><!--ad--></TD></TR>
<TR>
<TD align=middle>
<HR>
<A href="http://www.javazy.com/page/other.asp?id=478">关于我们
</A>| <A
href="http://www.javazy.com/page/other.asp?id=479">联系方式 </A>|
<A href="http://www.javazy.com/bbs/reg.asp">会员注册 </A>| <A
href="http://www.javazy.com/page/other.asp?id=481">广告业务</A> |
<A href="http://www.javazy.com/page/other.asp?id=482">网站地图</A>
<BR>版权所有©2005 JAVA资源网 E-mail:<A
href="mailto:webmaster@javazy.com">webmaster@javazy.com</A>
飞剑轩琳 QQ:4771155<BR><STRONG>Copyright©2005 JAVAZY.COM All
Rights Reserved 渝ICP备05007591号</STRONG></TD></TR></TBODY></TABLE></TD>
<TD width=1
background=JBuilder制作音频播放程序(2).files/right.jpg></TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD><IMG height=5 src="JBuilder制作音频播放程序(2).files/bot.jpg"
width=750></TD></TR></TBODY></TABLE></CENTER><!-- #EndTemplate --></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -