📄 test.java
字号:
package cn.com.frame;
import java.awt.AWTException;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Insets;
import java.awt.List;
import java.awt.MenuItem;
import java.awt.Panel;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.Toolkit;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.JSplitPane;
import javax.swing.JToolBar;
import javax.swing.border.EmptyBorder;
import net.infonode.tabbedpanel.TabAdapter;
import net.infonode.tabbedpanel.TabEvent;
import net.infonode.tabbedpanel.TabRemovedEvent;
import net.infonode.tabbedpanel.TabbedPanel;
import net.infonode.tabbedpanel.theme.ShapedGradientTheme;
import net.infonode.tabbedpanel.theme.TabbedPanelTitledTabTheme;
import net.infonode.tabbedpanel.titledtab.TitledTab;
import net.infonode.tabbedpanel.titledtab.TitledTabProperties;
import net.infonode.util.Direction;
import org.jvnet.substance.SubstanceLookAndFeel;
import org.jvnet.substance.skin.OfficeBlue2007Skin;
import cn.com.frame.action.ChangeSkinListener;
import cn.com.frame.action.FrameToolBarAction;
import cn.com.frame.action.ItemAction;
import cn.com.frame.action.ListAction;
import cn.com.frame.button.IsaleJButton;
public class Test extends JFrame {
/**
* @param args
*/
ActionListener action = null;
private TitledTabProperties titledTabProperties = new TitledTabProperties();
// 标签页组件的主题
private TabbedPanelTitledTabTheme activeTheme = new ShapedGradientTheme();
// 创建标签页组件
private TabbedPanel tabbedPanel = new TabbedPanel();;
private int tabId;
// 创建group组件的滚动条
private JScrollPane sp;
// 创建JSplitPane组件
private JSplitPane splitPane;
// 创建添加删除按钮的dialog
private List list1;
private List list2;
// 创建工具栏
private JToolBar jt = CreatJToolBar();
// 添加工具栏的jpanel
private JPanel jpa;
// private JList list1;
//
// private JList list2;
private TrayIcon trayIcon = null; // 托盘图标
private SystemTray tray = null; // 本操作系统托盘的实例
public JToolBar getJt() {
return jt;
}
public void setJt(JToolBar jt) {
this.jt = jt;
}
public static void main(String[] args) {
// AlloyLookAndFeel.setProperty("alloy.theme", "default");
// AlloyLookAndFeel.setProperty("alloy.isLookAndFeelFrameDecoration",
// "true");
// // 加载皮肤外观
// try {
// UIManager.setLookAndFeel(new AlloyLookAndFeel());
// } catch (UnsupportedLookAndFeelException e) {
// e.printStackTrace();
// }
SubstanceLookAndFeel.setSkin(new OfficeBlue2007Skin());
new Test();
}
/**
* frame
*
*/
public Test() {
JPanel jp = new JPanel();
jp.setLayout(new BorderLayout());
// 空panel 加在frame的南面 用来与边界隔开
JPanel jps = new JPanel();
// 创建菜单栏
JMenuBar jb = CreatJMenuBar();
SubstanceLookAndFeel.setSkin(new OfficeBlue2007Skin());
// SubstanceLookAndFeel.setSkin(new FieldOfWheatSkin());
this.ChangeSkin();
// 创建工具栏 并把工具栏加到jpa组件中
jpa = new JPanel();
jpa.setLayout(new BorderLayout());
jpa.add(jt, "North");
// 把splitPane和工具栏加到jp中
jp.add(jpa, "North");
jp.add(buildSplitPane(), "Center");
// 获得全屏
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
/////////////////////////////////////////////////////////
// 新修改
this.setTitle("学生管理系统");
//////////////////////////////////////////////////////////
this.setSize(d.width,d.height-20);
this.setJMenuBar(jb);
this.setLayout(new BorderLayout());
this.add(jp, "Center");
this.add(jps, "South");
// this.setSize(960, 700);
ImageIcon icon = new ImageIcon("img/mainframe/icon.PNG");
setIconImage(icon.getImage());
this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setVisible(true);
Tray();
closeWindow(this);
}
/**
* 更换界面皮肤
*/
public JMenu ChangeSkin() {
JMenu menu = new JMenu("更换皮肤");
String[] skin = { "蓝色幽灵", "麦田风光", "默认皮肤", "朦胧风格" };
JMenuItem[] item = new JMenuItem[skin.length];
ChangeSkinListener changeSkinListener = new ChangeSkinListener();
for (int i = 0; i < skin.length; i++) {
item[i] = new JMenuItem(skin[i]);
item[i].addActionListener(changeSkinListener);
menu.add(item[i]);
}
return menu;
}
///////////////////////////////////
//////////新修改
public void Tray() {
tray = SystemTray.getSystemTray(); // 获得本操作系统托盘的实例
ImageIcon icon = new ImageIcon("img/mainframe/icon.PNG"); // 将要显示到托盘中的图标
PopupMenu pop = new PopupMenu(); // 构造一个右键弹出式菜单
MenuItem show = new MenuItem("显示主页面");
MenuItem exit = new MenuItem("退出系统");
trayIcon = new TrayIcon(icon.getImage(), "学生信息管理系统", pop);
trayIcon.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) { // 鼠标双击
tray.remove(trayIcon); // 从系统的托盘实例中移除托盘图标
setVisible(true); // 显示窗口
}
}
});
show.addActionListener(new ActionListener() { // 点击“显示窗口”菜单后将窗口显示出来
public void actionPerformed(ActionEvent e) {
tray.remove(trayIcon); // 从系统的托盘实例中移除托盘图标
setVisible(true); // 显示窗口
}
});
exit.addActionListener(new ActionListener() { // 点击“退出演示”菜单后推出程序
public void actionPerformed(ActionEvent e) {
System.exit(0); // 退出程序
}
});
pop.add(show);
pop.add(exit);
}
/**
* 窗口关闭
*/
public void closeWindow(Test test) {
test.addWindowListener(new WindowAdapter() {
public void windowDeiconified(WindowEvent e) {
}
public void windowIconified(WindowEvent e) {
try {
if (getState() == 1) {// 最小化状态
tray.add(trayIcon);
setVisible(false); // 使窗口不可视
setState(0);// 切换成正常状态
}
} catch (AWTException e1) {
e1.printStackTrace();
} // 将托盘图标添加到系统的托盘实例中
}
public void windowClosing(WindowEvent e) {
int ch = JOptionPane.showConfirmDialog(null, "你是否真的要退出系统",
"关闭确定?", JOptionPane.YES_NO_OPTION);
if (ch == JOptionPane.YES_OPTION) {
System.exit(0);
}
}
});
}
/////////////////////////////////////////
/**
* listdialog
*
*/
/*
*
*
*
* gbc 重新布局
*
*
*
*
*
*
*/
public JDialog creatdialog() {
list1 = new List(5, true);
list2 = new List(5, true);
JDialog listdialog = new JDialog(this, "添加删除快捷按钮", true);
Panel panel1 = new Panel();
Panel panel2 = new Panel();
Panel panel3 = new Panel();
Panel panel4 = new Panel();
Panel panel5 = new Panel();
JButton button1 = new JButton(" 添加-->");
JButton button2 = new JButton("全部添加");
JButton button3 = new JButton("<--撤销 ");
JButton button4 = new JButton("全部撤销");
JButton button5 = new JButton("提交");
JButton button6 = new JButton("取消");
// button1.setSize(50, 50);
// button2.setSize(50, 50);
// button3.setSize(50, 50);
// button4.setSize(50, 50);
String[] str = new String[] { "1.学生基本信息管理", "2.老师基本信息管理", "3.课程基本信息管理",
"4.成绩基本信息管理", "5.班级日志信息管理" };
for (int i = 0; i < str.length; i++) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -