資源簡介
基于java編寫的音樂播放器,界面不錯,功能邏輯已經完善。進度條和對應的時間完美實現,代碼字節導入就可以使用,另外打包的jar在目錄下邊

代碼片段和文件信息
package?Music;
/**
?*?@author?bzwm
?*?
?*/
import?java.awt.Color;
import?java.awt.Cursor;
import?java.awt.Dimension;
import?java.awt.Graphics;
import?java.awt.Shape;
import?java.awt.event.MouseEvent;
import?java.awt.geom.Ellipse2D;
import?javax.swing.JButton;
public?class?CircleButton?extends?JButton?{
????/**
?*?
?*/
private?static?final?long?serialVersionUID?=?1L;
private?Shape?shape?=?null;//?用于保存按鈕的形狀有助于偵聽單擊按鈕事件
????
????public?CircleButton(String?label)?{
????????super(label);
????????this.addMouseListener(new?java.awt.event.MouseAdapter(){
????????????/**
?????????????*?{@inheritDoc}
?????????????*/
????????????public?void?mouseEntered(MouseEvent?e)?{
????????????????((JButton)e.getSource()).setCursor(new?Cursor(Cursor.HAND_CURSOR));
????????????}
????????????/**
?????????????*?{@inheritDoc}
?????????????*/
????????????public?void?mouseExited(MouseEvent?e)?{
????????????????((JButton)e.getSource()).setCursor(new?Cursor(Cursor.MOVE_CURSOR));
????????????}
????????});
????????Dimension?size?=?getPreferredSize();//?獲取按鈕的最佳大小
????????//?調整按鈕的大小使之變成一個方形
????????size.width?=?size.height?=?Math.max(size.width?size.height);
????????setPreferredSize(size);
????????//?使jbutton不畫背景即不顯示方形背景而允許我們畫一個圓的背景
????????setContentAreaFilled(false);
????}
????//?畫圖的按鈕的背景和標簽
????protected?void?paintComponent(Graphics?g)?{
????????if?(getModel().isArmed())?{
????????????//?getModel方法返回鼠標的模型ButtonModel
????????????//?如果鼠標按下按鈕,則buttonModel的armed屬性為真
????????????g.setColor(Color.LIGHT_GRAY);
????????}?else?{
????????????//?其他事件用默認的背景色顯示按鈕
????????????g.setColor(getBackground());
????????}
????????//?fillOval方法畫一個矩形的內切橢圓并且填充這個橢圓
????????//?當矩形為正方形時畫出的橢圓便是圓
????????g.fillOval(0?0?getSize().width?-?1?getSize().height?-?1);
????????//?調用父類的paintComponent畫按鈕的標簽和焦點所在的小矩形
????????super.paintComponents(g);
????}
????//?用簡單的弧充當按鈕的邊界
????protected?void?paintBorder(Graphics?g)?{
????????g.setColor(getForeground());
????????//?drawOval方法畫矩形的內切橢圓但不填充只畫出一個邊界
????????g.drawOval(0?0?getSize().width?-?1?getSize().height?-?1);
????}
????//?判斷鼠標是否點在按鈕上
????public?boolean?contains(int?x?int?y)?{
????????//?如果按鈕邊框位置發生改變則產生一個新的形狀對象
????????if?((shape?==?null)?||?(!shape.getBounds().equals(getBounds())))?{
????????????//?構造橢圓型對象
????????????shape?=?new?Ellipse2D.Float(0?0?getWidth()?getHeight());
????????}
????????//?判斷鼠標的xy坐標是否落在按鈕形狀內
????????return?shape.contains(x?y);
????}
//????public?static?void?main(String[]?args)?{
//????????JButton?button?=?new?CircleButton(“Click?me“);//?產生一個圓形按鈕
//?????
//????????//button.setBackground(Color.green);//?設置背景色為綠色
//????????//?產生一個框架顯示這個按鈕
//????????Jframe?frame?=?new?Jframe(“圖形按鈕“);
//???????//?frame.getContentPane().setBackground(Color.yellow);
//????????frame.getContentPane().setLayout(new?FlowLayout());
//????????frame.getContentPane().add(button);
//????????frame.setSize(200?200);
//????????frame.setVisible(true);
//????????frame.s
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-04-19?16:49??MyMusicPla
?????文件?????????519??2019-03-31?19:11??MyMusicPla
?????文件?????????386??2019-04-01?21:57??MyMusicPla
?????目錄???????????0??2019-03-30?14:17??MyMusicPla
?????文件?????????642??2019-03-26?15:59??MyMusicPla
?????目錄???????????0??2019-04-30?17:34??MyMusicPla
?????目錄???????????0??2019-04-30?17:34??MyMusicPla
?????文件?????????941??2019-04-30?17:34??MyMusicPla
?????文件????????2241??2019-04-30?17:34??MyMusicPla
?????文件????????1848??2019-04-30?17:34??MyMusicPla
?????文件????????2863??2019-04-30?17:34??MyMusicPla
?????文件????????2107??2019-04-30?17:34??MyMusicPla
?????文件????????1618??2019-04-30?17:34??MyMusicPla
?????文件????????7372??2019-04-30?17:34??MyMusicPla
?????文件????????4224??2019-04-30?17:34??MyMusicPla
?????文件????????1386??2019-04-30?17:34??MyMusicPla
?????文件????????3225??2019-04-30?17:34??MyMusicPla
?????文件?????????943??2019-04-30?17:34??MyMusicPla
?????文件???????11851??2019-04-30?17:34??MyMusicPla
?????文件?????????981??2019-04-30?17:34??MyMusicPla
?????文件??????870066??2019-03-31?19:10??MyMusicPla
?????文件??????105446??2019-03-26?22:46??MyMusicPla
?????文件????????1044??2019-04-30?17:34??MyMusicPla
?????文件????????1656??2019-04-30?17:34??MyMusicPla
?????文件????????1612??2019-04-30?17:34??MyMusicPla
?????目錄???????????0??2019-04-01?21:58??MyMusicPla
?????文件??????314876??2019-03-26?17:09??MyMusicPla
?????文件????????1401??2019-03-26?17:48??MyMusicPla
?????文件????????1654??2019-03-26?17:37??MyMusicPla
?????目錄???????????0??2019-04-01?21:58??MyMusicPla
?????文件????????1927??2019-03-30?12:08??MyMusicPla
............此處省略90個文件信息
- 上一篇:jdbc PPT課件介紹
- 下一篇:Android仿今日頭條APP源碼(1).zip
評論
共有 條評論