亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mainframe.java

?? 一個用于監控WEB服務器和數據庫服務器的客戶端程序。
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/**
 * <p>Title: 卓博營運支撐系統</p>
 *
 * <p>Description: 為本企業內部運作提供支撐,為企業資源的E化管理提供解決方案</p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: 卓博信息科技有限公司</p>
 *
 * @author Henry
 * @version 1.0
 */
package com.jobcn.ui;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.TitledBorder;
import javax.swing.event.CellEditorListener;
import javax.swing.event.ChangeEvent;
import javax.swing.filechooser.FileFilter;
import javax.swing.table.*;
import javax.swing.text.Style;
import javax.swing.text.StyleConstants;

import com.jeans.trayicon.TrayIconException;
import com.jeans.trayicon.TrayIconPopup;
import com.jeans.trayicon.TrayIconPopupSimpleItem;
import com.jeans.trayicon.WindowsTrayIcon;
import com.jobcn.control.*;

/**
 * MainFrame.java 
 * function: 系統主界面類
 * describe: 
 */

public class MainFrame extends JFrame {

	public MainFrame() {
		// 生成一個實例對象供外部調用時,將 outerInvoke 設置為 true.
		outerInvoke = true;
		// 生成系統主界面。
		createAndShowGUI();
		// 加入托盤圖標。
		addTrayIcon();
	}
	
	public MainFrame(String title) {
		super(title);
		initializeUI();
		addListener();
	}
	
	private void addTrayIcon() {
		String appName = "TaskManageTray";//"TestTray";
		long result = WindowsTrayIcon.sendWindowsMessage(appName, 0);//1234);
		if (result != -1) {
			System.out.println("Already running other instance of " + appName
					+ " (returns: " + result + ")");
			JOptionPane.showMessageDialog(mainFrame, "已經有一個任務管理系統在運行!");
			exitSystem();
		}
		WindowsTrayIcon.initTrayIcon(appName);
		Image france = Constant.trayIcon.getImage();
		WindowsTrayIcon icon = null;
		try {
			icon = new WindowsTrayIcon(france, 16, 16);
			icon.setToolTipText(Constant.systemName);//設置托盤圖標的提示信息 
			icon.setPopup(getTrayPopup());//給托盤圖標加右鍵菜單 
			icon.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent arg0) {
					/*if(mainFrame.getExtendedState()==Frame.ICONIFIED){
						mainFrame.setExtendedState(Frame.NORMAL);
						mainFrame.setVisible(true);
			        }
					else {
						mainFrame.setVisible(!mainFrame.isVisible());
					}

					mainFrame.toFront();*/
					
					
					if (!mainFrame.isShowing()) {
						mainFrame.setVisible(true);
					}
					else {
						mainFrame.setVisible(false);
					}
					if(mainFrame.getExtendedState()==Frame.ICONIFIED){
						mainFrame.setExtendedState(Frame.NORMAL);
						mainFrame.setVisible(true);
			        }
					mainFrame.toFront();
				}
			});//單擊托盤圖標時的動作 
			icon.setVisible(true);//托盤圖標設置為顯示狀態 
		} catch (TrayIconException e) {
			e.printStackTrace();
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		if (icon == null) {
			return;
		}
		WindowsTrayIcon.keepAlive();
	}
    
	public TrayIconPopup getTrayPopup() {//構造彈出菜單 
		TrayIconPopup popup = new TrayIconPopup();
		// 增加三個菜單項 
		TrayIconPopupSimpleItem item = new TrayIconPopupSimpleItem("打開主界面");
		item.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				mainFrame.setVisible(true);
				mainFrame.toFront();
			}
		});
		popup.addMenuItem(item);
		item = new TrayIconPopupSimpleItem("關閉主界面");
		item.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				mainFrame.dispose();
			}
		});
		popup.addMenuItem(item);
		item = new TrayIconPopupSimpleItem("退出");
		item.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				exitSystem();
			}
		});
		popup.addMenuItem(item);
		return popup;
	}
	
	private void initializeUI() {
		Container contentPane = getContentPane();
		contentPane.setLayout(new BorderLayout());
		JPanel panel = new JPanel(new BorderLayout());
		panel.add(createMenuBar(), BorderLayout.NORTH);
		JToolBar toolBar = new JToolBar();
		runAllButton = new JButton("全部啟動");//, icon);
		stopAllButton = new JButton("全部中止");//, icon);
		newTaskButton = new JButton("新建");
		editTaskButton = new JButton("編輯");
		delTaskButton = new JButton("刪除");		
		saveTaskListButton = new JButton("保存");//, icon);
		clearTaskListButton = new JButton("清空");
		toolBar.add(newTaskButton);
		toolBar.add(editTaskButton);
		toolBar.add(delTaskButton);
		toolBar.add(saveTaskListButton);
		toolBar.add(clearTaskListButton);
		toolBar.add(runAllButton);
		toolBar.add(stopAllButton);
		toolBar.setFloatable(false);
        toolBar.setRollover(true);
		panel.add(toolBar, BorderLayout.SOUTH);
		panel.setOpaque(true);
		contentPane.add(panel, BorderLayout.NORTH);
        JSplitPane pane = new JSplitPane(
        		JSplitPane.VERTICAL_SPLIT, 
        		createTaskListTable(), 
        		createTaskListInfo()
        		);
        pane.setDividerLocation(200);
	    pane.setDividerSize(2);
	    contentPane.add(pane, BorderLayout.CENTER);
		fileChooser = new JFileChooser();
		fileChooser.setCurrentDirectory(new java.io.File(Constant.taskConfPath));
		filter = new XmlFilter();
		fileChooser.addChoosableFileFilter(filter);
		fileChooser.setVisible(true);
		taskDialog = new TaskDialog(this);
		proxy = new TaskProxy(this);
		historyDialog = new HistoryLog(this);
		aboutText = Constant.aboutText;
	}

	private JComponent createMenuBar() {
		JMenu taskMenu = new JMenu("任務");
		newTaskMenuItem = new JMenuItem("新建");
		loadTaskMenuItem = new JMenuItem("載入。。。");
		exitMenuItem = new JMenuItem("退出");
		taskMenu.add(newTaskMenuItem);
		taskMenu.add(loadTaskMenuItem);
		taskMenu.add(exitMenuItem);
		JMenu setupMenu = new JMenu("設置");
		JMenu systemMenuItem = new JMenu("系統");
		JMenu skinMenuItem = new JMenu("換膚");
		windowSkinMenuItem = new JMenuItem("Window風格");
		swingSkinMenuItem = new JMenuItem("Swing風格");
		skinMenuItem.add(windowSkinMenuItem);
		skinMenuItem.add(swingSkinMenuItem);
		mailMenuItem = new JMenuItem("郵件");
		systemMenuItem.add(skinMenuItem);
		systemMenuItem.add(mailMenuItem);
		setupMenu.add(systemMenuItem);
		JMenu helpMenu = new JMenu("幫助");
		aboutMenuItem = new JMenuItem("關于...");
		helpMenu.add(aboutMenuItem);
		JMenu logMenu = new JMenu("日志");
		clearLogItem = new JMenuItem("清空實時記錄");
		logMenu.add(clearLogItem);
		JMenuBar menuBar = new JMenuBar();
		menuBar.add(taskMenu);
		menuBar.add(setupMenu);
		menuBar.add(logMenu);
		menuBar.add(helpMenu);
		return menuBar;
	}

	private JComponent createTaskListTable() {
		JPanel panel = new JPanel();
		panel.setLayout(new BorderLayout());
		model = new MainFrameTableModel();
		table = new JTable(model);
		table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
	    columnCount = table.getColumnCount();
		TableColumnModel colModel = table.getColumnModel();
		TableColumn[] columns = new TableColumn[columnCount];
		for (int i = 0; i < columnCount; i++) {
			columns[i] = colModel.getColumn(i);
			columns[i].setPreferredWidth(colWidths[i]);
		}
	    editor = table.getDefaultEditor(Boolean.class);
	    DefaultTableCellRenderer render = new DefaultTableCellRenderer() {
			public Component getTableCellRendererComponent(
					JTable table, Object value, boolean isSelected,
					boolean hasFocus, int row, int column) {
				JCheckBox checkBox = new JCheckBox();
				boolean b = ((Boolean) value).booleanValue();
				if (b) {
					checkBox.setBackground(Color.RED);
				}
				else {
					checkBox.setBackground(Color.WHITE);
				}
				checkBox.setSelected(b);
				checkBox.setHorizontalAlignment(JLabel.CENTER);
				return checkBox;
			}
		};
		String[] header = Constant.taskListData;
		TableColumn tc = table.getColumn(header[columnCount-1]);
		tc.setCellRenderer(render);

		JScrollPane scrollPane = new JScrollPane(table);
		panel.add(scrollPane);
		final JPanel panel_1 = new JPanel();
		panel_1.setLayout(new GridLayout());
		panel.add(panel_1, BorderLayout.SOUTH);
		final JLabel label = new JLabel();
		panel_1.add(label);
		TitledBorder tb = new TitledBorder("任務列表");
		tb.setTitleFont(Constant.systemFont);
		panel.setBorder(tb);
		return panel;
	}
	
	private JComponent createTaskListInfo() {
		JPanel p = new JPanel();
		p.setFont(Constant.systemFont);
		p.setLayout(new BorderLayout());
		TitledBorder tb = new TitledBorder("任務運行實時記錄");
		tb.setTitleFont(Constant.systemFont);
		p.setBorder(tb);
		logInfo = new JTextPane();
		logInfo.setFont(Constant.systemFont);
		logInfo.setEditable(false);
		Style style = logInfo.addStyle("Red", null);
	    StyleConstants.setForeground(style, Color.RED);
	    JScrollPane logScrollPane = new JScrollPane(logInfo);
		p.add(logScrollPane);
		return p;
	}

	private void addListener() {
		newTaskButton.addKeyListener(new KeyAdapter() {
			public void keyPressed(KeyEvent e) {
				if (e.getKeyCode() == KeyEvent.VK_ENTER) {
					proxy.createNewTask();
				}
			}
		});
		editTaskButton.addKeyListener(new KeyAdapter() {
			public void keyPressed(KeyEvent e) {
				if (e.getKeyCode() == KeyEvent.VK_ENTER) {
					proxy.editTask(table.getSelectedRow(), 0);
				}
			}
		});
		delTaskButton.addKeyListener(new KeyAdapter() {
			public void keyPressed(KeyEvent e) {
				if (e.getKeyCode() == KeyEvent.VK_ENTER) {
					proxy.delTask();
				}
			}
		});
		saveTaskListButton.addKeyListener(new KeyAdapter() {
			public void keyPressed(KeyEvent e) {
				if (e.getKeyCode() == KeyEvent.VK_ENTER) {
					proxy.saveTaskList();
				}
			}
		});
		clearTaskListButton.addKeyListener(new KeyAdapter() {
			public void keyPressed(KeyEvent e) {
				if (e.getKeyCode() == KeyEvent.VK_ENTER) {
					proxy.clearTaskList();
				}
			}
		});
		runAllButton.addKeyListener(new KeyAdapter() {
			public void keyPressed(KeyEvent e) {
				if (e.getKeyCode() == KeyEvent.VK_ENTER) {
					proxy.runAllTask();
				}
			}
		});
		stopAllButton.addKeyListener(new KeyAdapter() {
			public void keyPressed(KeyEvent e) {
				if (e.getKeyCode() == KeyEvent.VK_ENTER) {
					proxy.stopAllTask();
				}
			}
		});
		table.addMouseListener(new MouseAdapter(){
			public void mouseClicked(MouseEvent e) {
				if (e.getButton() == MouseEvent.BUTTON1) { // 鼠標左鍵
					if (e.getClickCount() == 1 && table.getSelectedColumn() != table.getColumnCount()-1){
						
					}
					else if (e.getClickCount() == 2 && table.getSelectedColumn() != table.getColumnCount()-1){
						proxy.editTask(table.getSelectedRow(), 0);
					}
				}
				else if (e.getButton() == MouseEvent.BUTTON3){ // 鼠標右鍵
					final int rowNo = table.getSelectedRow();
					JMenuItem instantRun = new JMenuItem("立即執行");
					instantRun.addActionListener(new ActionListener() {
						public void actionPerformed(ActionEvent arg0) {
							proxy.runOrStopTask(rowNo, true, 1);
						}
					});

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品123| 中文在线免费一区三区高中清不卡| 日韩一区中文字幕| 一本色道久久加勒比精品| 一区二区成人在线视频| 欧美日韩国产乱码电影| 免费在线视频一区| 国产午夜精品久久久久久久 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 国产精品一区二区在线观看不卡| 日韩欧美亚洲国产精品字幕久久久| 久久精品国内一区二区三区| 久久综合九色欧美综合狠狠| 成人三级在线视频| 一区二区三区日韩欧美精品| 欧美一区二区福利在线| 成人久久视频在线观看| 亚洲影院免费观看| 精品国产亚洲一区二区三区在线观看| 国产一区二区0| 亚洲色图视频网站| 日韩欧美国产午夜精品| 不卡av电影在线播放| 日韩精品一卡二卡三卡四卡无卡| 精品久久久久久久久久久久久久久 | 欧美午夜精品电影| 精品一区二区三区欧美| 中文字幕日韩av资源站| 91精品国产欧美一区二区成人| 韩国一区二区三区| 亚洲欧美aⅴ...| 精品入口麻豆88视频| 日本高清免费不卡视频| 激情欧美一区二区| 亚洲一区二区高清| 国产午夜精品久久久久久久| 9191久久久久久久久久久| 粉嫩绯色av一区二区在线观看 | 国产精品色眯眯| 在线不卡欧美精品一区二区三区| 成人av午夜电影| 精品一区二区三区在线观看国产| 亚洲精品成人a在线观看| 精品1区2区在线观看| 欧美三区在线观看| 99精品偷自拍| 国产乱国产乱300精品| 亚洲成人精品在线观看| 中文字幕日本不卡| 国产日韩视频一区二区三区| 欧美一区二区三区思思人| 在线观看亚洲专区| 成人97人人超碰人人99| 激情六月婷婷久久| 日韩精品乱码免费| 亚洲免费观看高清在线观看| 国产午夜三级一区二区三| 欧美大度的电影原声| 欧美日韩国产精品成人| 一本到一区二区三区| 成人午夜免费av| 国产成人精品影院| 国产精一区二区三区| 麻豆91在线播放| 一区二区三区美女视频| 亚洲三级免费观看| 亚洲欧美在线观看| 中文字幕成人av| 亚洲国产高清aⅴ视频| 国产日韩精品视频一区| 久久久av毛片精品| 久久色.com| 国产校园另类小说区| 久久久另类综合| 国产欧美日韩久久| 国产精品五月天| 国产精品网站导航| 最新日韩在线视频| 亚洲欧美一区二区久久| 亚洲日本电影在线| 亚洲一区二区三区视频在线 | 亚洲蜜臀av乱码久久精品蜜桃| 国产精品国产三级国产专播品爱网| 久久久久久久久久看片| 久久亚洲精精品中文字幕早川悠里 | 亚洲一卡二卡三卡四卡| 亚洲国产综合在线| 日本欧美一区二区在线观看| 三级影片在线观看欧美日韩一区二区| 午夜一区二区三区视频| 美女任你摸久久| 国产成人自拍网| av成人免费在线观看| 欧美三级视频在线| 91精品国产色综合久久ai换脸| 日韩欧美国产一区二区在线播放 | 911精品产国品一二三产区| 制服丝袜亚洲精品中文字幕| 欧美不卡一区二区| 国产精品你懂的在线| 亚洲精选免费视频| 奇米色一区二区| 国产高清成人在线| 91美女视频网站| 日韩一区国产二区欧美三区| 夜夜亚洲天天久久| 日韩电影一区二区三区四区| 国产精品夜夜爽| 91久久免费观看| 亚洲精品在线免费观看视频| 中文字幕视频一区| 裸体健美xxxx欧美裸体表演| 粉嫩一区二区三区在线看| 欧洲激情一区二区| 久久综合九色欧美综合狠狠| 一区二区三区精品| 国产乱理伦片在线观看夜一区| 欧洲在线/亚洲| 久久网这里都是精品| 亚洲一区二区三区在线看| 激情综合五月天| 欧美性极品少妇| 国产亚洲一区二区三区在线观看| 一二三区精品福利视频| 国产传媒日韩欧美成人| 欧美区在线观看| 亚洲欧洲日韩综合一区二区| 日韩和欧美一区二区三区| 本田岬高潮一区二区三区| 欧美大胆人体bbbb| 综合av第一页| 国内成人自拍视频| 91精品国产91久久久久久最新毛片| 欧美激情中文字幕| 久久se精品一区二区| 色天使久久综合网天天| 中文字幕乱码日本亚洲一区二区| 日本欧美加勒比视频| 在线观看免费一区| 亚洲欧美日韩中文播放| 国产成人综合在线观看| 日韩免费观看高清完整版在线观看| 亚洲人成网站色在线观看| 国产精品一品视频| 精品日韩在线一区| 蜜臀精品一区二区三区在线观看| 欧美午夜精品免费| 一区二区三区四区乱视频| 成人av高清在线| 中文一区在线播放| 国产高清不卡二三区| 欧美大度的电影原声| 美女尤物国产一区| 日韩欧美国产一区在线观看| 性久久久久久久久| 欧美视频精品在线观看| 亚洲精品国产无套在线观| 成人精品一区二区三区中文字幕 | 欧美精品在欧美一区二区少妇| 一区二区三区在线观看网站| 成人不卡免费av| 中文字幕不卡在线| 成人动漫一区二区在线| 椎名由奈av一区二区三区| 91在线看国产| 亚洲精品一二三四区| 欧美性受xxxx黑人xyx| 亚洲高清免费一级二级三级| 欧美日韩精品三区| 丝袜美腿亚洲色图| 欧美不卡激情三级在线观看| 免费一级欧美片在线观看| 日韩精品中文字幕一区| 精品一区二区av| 国产人成一区二区三区影院| 国产a区久久久| 国产精品美日韩| 91农村精品一区二区在线| 亚洲综合另类小说| 555夜色666亚洲国产免| 婷婷久久综合九色综合绿巨人| 欧美一级欧美三级在线观看| 美女网站一区二区| 国产亚洲一区二区在线观看| 不卡一区二区中文字幕| 亚洲综合色区另类av| 91精品国产91热久久久做人人| 九九**精品视频免费播放| 国产喷白浆一区二区三区| av午夜精品一区二区三区| 亚洲欧美另类图片小说| 91精品国产综合久久精品性色| 日本欧美肥老太交大片| 国产欧美一区二区精品性色 | 国产激情一区二区三区| 亚洲欧美综合色| 欧美撒尿777hd撒尿| 国产一区二区三区在线观看免费视频| 国产精品国产精品国产专区不片| 欧美亚洲自拍偷拍|