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() {
- //.......
- }
- ......省略