package com.kugou.jPenal;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Cursor;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.awt.event.WindowEvent;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import chrriis.common.UIUtils;
import chrriis.dj.nativeswing.swtimpl.NativeInterface;
import
chrriis.dj.nativeswing.swtimpl.components.JWebBrowser;
public class MainInterfaceJPenal {
private int moveX,moveY;//移动窗口的全局坐标
JPanel rootJPanel = null; //主界面面板
JPanel titleJPenal = null; //标题面板
JPanel middleJPenal = null; //中间面板
JLabel menuJLabel = null;//菜单
JLabel minimizeJLabel = null;//最小化
JLabel closeJLabel = null;//退出图标
private JLabel logoJLabel = null;
private JWebBrowser webBrowser;//窗口浏览器
public MainInterfaceJPenal(final JFrame mainJFrame, final
Container mainJPanel) {
rootJPanel = new JPanel();
rootJPanel.setBackground(new Color(79,96,184));
rootJPanel.setLayout(null);//取消默认布局
titleJPenal = new JPanel();
titleJPenal.setLayout(null);
middleJPenal = new JPanel(new BorderLayout());
//菜单
menuJLabel = new JLabel("≡",JLabel.CENTER);
menuJLabel.setForeground(Color.white);
menuJLabel.setBorder(BorderFactory.createLineBorder(new
Color(79,96,184)));
menuJLabel.setFont(new ;
menuJLabel.setBounds(647, 10, 30, 30);
menuJLabel.setToolTipText("菜单");//鼠标在这停顿时显示信息
menuJLabel.createToolTip().setBackground(new
Color(240,236,224));
titleJPenal.add(menuJLabel);
//最小化
minimizeJLabel = new JLabel("─",JLabel.CENTER);
minimizeJLabel.setForeground(Color.white);
minimizeJLabel.setBorder(BorderFactory.createLineBorder(new
Color(79,96,184)));
minimizeJLabel.setFont(new ;
minimizeJLabel.setBounds(677, 10, 30, 30);
minimizeJLabel.setToolTipText("最小化");//鼠标在这停顿时显示信息
minimizeJLabel.createToolTip().setBackground(new
Color(240,236,224));
titleJPenal.add(minimizeJLabel);
//关闭
closeJLabel = new JLabel("╳",JLabel.CENTER);
closeJLabel.setForeground(Color.white);
closeJLabel.setBorder(BorderFactory.createLineBorder(new
Color(79,96,184)));
closeJLabel.setFont(new ;
closeJLabel.setBounds(707, 10, 30, 30);
closeJLabel.setToolTipText("关闭");//鼠标在这停顿时显示信息
closeJLabel.createToolTip().setBackground(new
Color(240,236,224));
titleJPenal.add(closeJLabel);
//logo
logoJLabel = new JLabel("自家KTV音乐系统",JLabel.CENTER);
logoJLabel.setForeground(Color.white);
logoJLabel.setBorder(BorderFactory.createLineBorder(new
Color(79,96,184)));
logoJLabel.setFont(new ;
logoJLabel.setBounds(10, 5, 300, 40);
titleJPenal.add(logoJLabel);
//设置面板背景颜色
titleJPenal.setBackground(new Color(79,96,184));
middleJPenal.setBackground(new Color(221,218,236));
//设置面板的位置
titleJPenal.setBounds(0,0,762,50);
middleJPenal.setBounds(10,20,742,515);
//把面板添加到基层面板
rootJPanel.add(titleJPenal);
rootJPanel.add(middleJPenal);
mainJPanel.add(rootJPanel,BorderLayout.CENTER);
//菜单(绑定事件)
menuJLabel.addMouseListener(new MouseAdapter(){
//点击事件
public void mouseClicked(MouseEvent e){
}
//鼠标进入事件
public void mouseEntered(MouseEvent e) {
menuJLabel.setOpaque(true);
menuJLabel.setBackground(new Color(221,80,68));
menuJLabel.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));//鼠标变成手型
}
//鼠标移出事件
public void mouseExited(MouseEvent e) {
menuJLabel.setOpaque(false);
menuJLabel.setBackground(new Color(0,104,183));
menuJLabel.setCursor(Cursor.getDefaultCursor());//鼠标变回默认
}
});
//最小化(绑定事件)
minimizeJLabel.addMouseListener(new MouseAdapter(){
//点击事件
public void mouseClicked(MouseEvent e){
mainJFrame.setExtendedState(JFrame.ICONIFIED);//窗口最小化
}
//鼠标进入事件
public void mouseEntered(MouseEvent e) {
minimizeJLabel.setOpaque(true);
minimizeJLabel.setBackground(new Color(221,80,68));
minimizeJLabel.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));//鼠标变成手型
}
//鼠标移出事件
public void mouseExited(MouseEvent e) {
minimizeJLabel.setOpaque(false);
minimizeJLabel.setBackground(new Color(0,104,183));
minimizeJLabel.setCursor(Cursor.getDefaultCursor());//鼠标变回默认
}
});
//退出(绑定事件)
closeJLabel.addMouseListener(new MouseAdapter(){
//点击事件
public void mouseClicked(MouseEvent e){
//弹出确认框,返回0或者1,0=true(yes),1=false(no)
int n = JOptionPane.showConfirmDialog(null, "你确认要退出系统吗?",
"我的音乐系统", JOptionPane.YES_NO_OPTION);
if(n==0){
mainJFrame.dispatchEvent(new
WindowEvent(mainJFrame,WindowEvent.WINDOW_CLOSING));
}
}
//鼠标进入事件
public void mouseEntered(MouseEvent e) {
closeJLabel.setOpaque(true);
closeJLabel.setBackground(new Color(221,80,68));
closeJLabel.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));//鼠标变成手型
}
//鼠标移出事件
public void mouseExited(MouseEvent e) {
closeJLabel.setOpaque(false);
closeJLabel.setBackground(new Color(0,104,183));
closeJLabel.setCursor(Cursor.getDefaultCursor());//鼠标变回默认
}
});
//绑定移动窗口事件
titleJPenal.addMouseListener(new MouseAdapter() {
public
void mousePressed(MouseEvent e) {
moveX = e.getX();
moveY = e.getY();
}
});
titleJPenal.addMouseMotionListener(new MouseMotionAdapter()
{
public
void mouseDragged(MouseEvent e) {
int left = mainJFrame.getLocation().x;
int top = mainJFrame.getLocation().y;
mainJFrame.setLocation(left + e.getX() - moveX,
top + e.getY() - moveY);
}
});
//中右面板,实现浏览器
// UIUtils.setPreferredLookAndFeel();
NativeInterface.open();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
webBrowser = new JWebBrowser();
webBrowser.navigate("http://www.kugou.com/webkugouplayer/?isopen=1&chl=yueku_omnibus");
webBrowser.setButtonBarVisible(false);
webBrowser.setMenuBarVisible(false);
webBrowser.setBarsVisible(false);//是否显示[前进,返回,刷新,地址栏],true=显示,false=不显示
webBrowser.setStatusBarVisible(false);//是否显示底部的状态栏
middleJPenal.add(webBrowser,
BorderLayout.CENTER);
}
});
NativeInterface.runEventPump();
}
}