Java Swing仿“酷我音乐盒”界面,搭建简单通用前端框架

使用Java的Swing技术也可以做出很炫的界面,不过效率貌似不是很好,但是在现如今机子配置都超高的情况下,其应该是可以被接受的。。

程序截图如下:

 

部分代码如下:

 

/**
 * 
 */
package ikuwo.sys.main.view;

import ikuwo.comm.ui.CustSkinPanel;
import ikuwo.comm.ui.ViewDragHelper;
import ikuwo.comm.ui.ViewToolkit;
import ikuwo.comm.values.ValuesMgr;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Shape;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.geom.RoundRectangle2D;

import javax.swing.Box;
import javax.swing.Icon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

import com.sun.awt.AWTUtilities;

/**
 * 系统的主窗体
 */
public class MainView extends JFrame implements ActionListener, MouseListener {
  
  //定义系统所需组件
    private Container conPanel;

    private JPanel headerPanel, headerTmpPanel1, headerTmpPanel2, footerPanel, leftPanel, rightPanel;

    private JLabel sysMenuLabel, sysMinLabel, sysMaxLabel, sysCloseLabel;

    ......省略
    
    /**
     * 构造器
     */
    public MainView() {
        init();
        buildElems();
        fitTogether();
    }

    /**
     * 初始化自己
     */
    private void init() {
        this.setTitle(ValuesMgr.SYS_VALUES.MAIN_VIEW_TITLE);
        this.setSize(ValuesMgr.SYS_VALUES.MAIN_VIEW_WIDTH, ValuesMgr.SYS_VALUES.MAIN_VIEW_HEIGHT);
        this.setIconImage(ViewToolkit.createImageIcon(ValuesMgr.SYS_VALUES.SYSTEM_ICON_IMG).getImage());
        this.setLocationRelativeTo(null);
        this.setUndecorated(true);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 设置圆角边框
        Shape shape = new RoundRectangle2D.Double(0, 0, ValuesMgr.SYS_VALUES.MAIN_VIEW_WIDTH, ValuesMgr.SYS_VALUES.MAIN_VIEW_HEIGHT, 9D, 9D);
        AWTUtilities.setWindowShape(this, shape);
        // 设置系统字体等
        // UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        // UIManager.getLookAndFeelDefaults().put("defaultFont", new
        // Font("微软雅黑", Font.PLAIN, 12));
    }

    /**
     * 构建窗口元素
     */
    public void buildElems() {
      //.......
    }

    ......省略

  

posted @ 2012-05-20 17:08  完美科技  阅读(2095)  评论(33编辑  收藏  举报