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