⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 systemmessagepanel.java

📁 一个数据挖掘软件ALPHAMINERR的整个过程的JAVA版源代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		performAppendMessage(a_Message+"\n");
	}
	
	public static String getMessage(String a_CaseID) {
		if (s_MultipleInstances.containsKey(a_CaseID))
		{
			SystemMessagePanel aPanel = (SystemMessagePanel)s_MultipleInstances.get(a_CaseID);
			return aPanel.getAllMessage();
		}
		return null;
	}
	
	public String getAllMessage() {
		return m_TextPaneMessage.getText();
	}
	
	public String getSelectedMessage() {
		return m_TextPaneMessage.getSelectedText();
	}
	
	private void performAppendMessage(String a_Message) 
	{
		try
		{
			if (m_Tab.getSelectedComponent()!=this)
				m_Tab.setSelectedComponent(this);
			m_TextPaneMessage.append(a_Message);
			
			//paintImmediately(this.getBounds());
		}catch(Exception e)
		{
			e.printStackTrace();
		}
	}

	public void nextLine()
	{
		performAppendMessage("\n");
	}

	public static void clearMessage(String a_CaseID)
	{
		if (s_MultipleInstances.containsKey(a_CaseID))
		{
			SystemMessagePanel aPanel = (SystemMessagePanel)s_MultipleInstances.get(a_CaseID);
			aPanel.performClearMessage();
		}
	}
	
	public void clearMessage() {
		performClearMessage();
	}
	
	/**
	 * Clears existing system message.
	 */
	public void performClearMessage() {
		m_TextPaneMessage.setText(null);
	}

	/**
	 * Creates UI of the SystemMessagePanel.
	 * @throws SysException
	 */
	private void createSystemMessagePanel() throws SysException {
		// Message Panel
		m_PanelMessage = new JPanel(new BorderLayout());
		m_LabelMessage = new JLabel(Resource.srcStr("m_LabelSystemMessage"));
//		m_ButtonClear = new JButton();
		//m_ButtonClear = new JHelpButton();//<27/07/2005 Kenneth Lai: Add for JHelp>>
		m_TextPaneMessage = new JTextArea();
		m_TextPaneMessage.setEditable(false);
		m_ScrollPaneMessage = new JScrollPane(m_TextPaneMessage);

//		<<26/07/2005 Kenneth Lai: Add for JHelp
		//HelpObserveSubject.registerInterest(m_TextPaneMessage);
//		26/07/2005 Kenneth Lai: Add for JHelp>>
		
		//m_ButtonClear.setActionCommand("clear");
		//m_ButtonClear.setToolTipText(Resource.srcStr("m_ButtonSystemClear"));
		//m_ButtonClear.setBorderPainted(false);
		//m_ButtonClear.setContentAreaFilled(false);
		//m_ButtonClear.setIcon(ResourceLoader.
		//        getImageIcon(ImageLocation.MSG_CLEAR));
		//m_ButtonClear.setHelpDisabledIcon(ResourceLoader.
		//        getImageIcon(ImageLocation.MSG_CLEAR)); //<27/07/2005 Kenneth Lai: Add for JHelp>>
		//m_ButtonClear.setMargin(new Insets(2, 2, 2, 2));
		//m_ButtonClear.setBorder(BorderFactory.createEmptyBorder());
		//m_ButtonClear.addActionListener(this);

		m_PanelMessage.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1));
		m_PanelMessage.setRequestFocusEnabled(true);
		m_PanelMessage.add(m_LabelMessage, BorderLayout.WEST);
		//m_PanelMessage.add(m_ButtonClear, BorderLayout.EAST);

		this.setLayout(new BorderLayout());
		this.add(m_ScrollPaneMessage, BorderLayout.CENTER);
		this.add(m_PanelMessage, BorderLayout.NORTH);
		this.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2));
	}
	
	// <<26/07/2005 Kenneth Lai: Add for JHelp
	public void Update(boolean a_HelpState) {
        setHelpMode(a_HelpState);
	}
	
	private void setHelpMode(boolean a_HelpState) {
	    HelpCursor helpCursor = new HelpCursor();
	    
	    if ( a_HelpState )
	        setCursor(helpCursor.getCursor());
	    else
	        setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
	    
	    setHelpState(a_HelpState);
	    //m_ButtonClear.setEnabled(!a_HelpState);
	    //m_TextPaneMessage.setHelpMode(a_HelpState);
	}
	
	private void setHelpState(boolean a_HelpState) {
	    m_HelpState = a_HelpState;
	}
	
	@SuppressWarnings("unused")
	private boolean isHelpMode() {
	    return m_HelpState;
	}
	// 26/07/2005 Kenneth Lai: Add for JHelp>>

//	03/17/2006 Xiaojun Chen aAdd for
	/**
	 * reset language
	 */
	public void resetLocale() {
		m_LabelMessage.setText(Resource.srcStr("m_LabelSystemMessage"));
		//m_ButtonClear.setToolTipText(Resource.srcStr("m_ButtonSystemClear"));
		if(popupmenu!=null) {
			copyMessageItem.setText(Resource.srcStr("Copy_systemmessages"));
			copyAllMessageItem.setText(Resource.srcStr("Copy_All_systemmessages"));
			clearMessageItem.setText(Resource.srcStr("Clear_systemmessages"));
			saveMessageItem.setText(Resource.srcStr("Save_systemmessages"));
			searchItem.setText(Resource.srcStr("SearchDialogSearch"));
			printItem.setText(Resource.srcStr("Print"));
		}
	}

	public void dispose() {
		if(searchdialog!=null) {
			searchdialog.dispose();
		}
		if(popupmenu!=null) {
			popupmenu.removeAll();
			popupmenu = null;
		}
	}
	
	public void mouseClicked(MouseEvent e) {
		if(e.getButton()==MouseEvent.BUTTON3&&e.getClickCount()==1) {
			popupmenu.show(e.getComponent(),e.getX(),e.getY());
		}
	}

	private void print() {
		try {
			
			Printer.printComponent(m_TextPaneMessage, Resource.srcStr("m_LabelSystemMessage"), superscript);
		} catch (Exception e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
			SysLog.error(this, e1);
		}
	}
	
	private void search() {
		if(searchdialog==null) {
			searchdialog = new SearchDialog(m_TextPaneMessage, m_TextPaneMessage);
		}
		searchdialog.toshow();
	}
	
	public void mousePressed(MouseEvent e) {
		
	}

	public void mouseReleased(MouseEvent e) {
		
	}

	public void mouseEntered(MouseEvent e) {
		
	}

	public void mouseExited(MouseEvent e) {
	}

	public void lostOwnership(Clipboard clipboard, Transferable contents) {
		
	}

	public void actionPerformed(ActionEvent e) {
		Object source = e.getSource();
		if(source==copyMessageItem) {
			m_TextPaneMessage.copy();
		}
		else if(source==copyAllMessageItem) {
			if(m_TextPaneMessage.getSelectedText()==null) {
				StringSelection sSelection = new StringSelection(m_TextPaneMessage.getText());
				SystemMessagePanel.this.getToolkit().getSystemClipboard().setContents(sSelection, SystemMessagePanel.this);
			}
		}
		else if(source==clearMessageItem) {
			clearMessage();
		}
		else if(source==saveMessageItem) {
			saveMessage();
		}
		else if(source==searchItem) {
			search();
		}
		else if(source==printItem) {
			print();
		}
	}
	
	private void saveMessage() {


		JFileChooser chooser = new JFileChooser(System.getProperty("user.dir"));
		chooser.setFileFilter(new FileFilter() {

			@Override
			public boolean accept(File f) {
				String name = f.getName();
				if(name.endsWith(".log")||name.endsWith(".txt")) {
					return true;
				}
				else {
					return false;
				}
			}

			@Override
			public String getDescription() {
				return "log and txt";
			}
		});
		chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
		
		int returnValue = chooser.showSaveDialog(SystemMessagePanel.this);
		
		switch(returnValue) {
			case JFileChooser.APPROVE_OPTION:
				try {
					File file = chooser.getSelectedFile();
					if(file==null) {
						return;
					}
					if(file.exists()) {
						if(file.canWrite()) {
							PrintWriter out = new PrintWriter(new FileWriter(file));
							String content = getSelectedMessage();
							if(content!=null) {
								out.println(content);
							}
							else {
								out.println(getAllMessage());
							}
							out.close();
						}
					}
					else {
						String filepath = file.getAbsolutePath();
						if(filepath.indexOf(".")<0) {
							filepath = filepath.concat(".log");
							file = new File(filepath);
						}
						PrintWriter out = new PrintWriter(new FileWriter(file));
						String content = getSelectedMessage();
						if(content!=null) {
							out.println(content);
						}
						else {
							out.println(getAllMessage());
						}
						out.close();
					}
					
				}
				catch (IOException ex) {
					ex.printStackTrace();
					SysLog.error(ex);
				}
		}
	
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -