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

📄 infopanel.java

📁 java 调用windows的api
💻 JAVA
字号:
package org.jawin.browser.info;

import javax.swing.*;
import org.jawin.browser.data.BaseData;
import org.jawin.browser.tree.TypeDataTreeSelectionListener;
import java.awt.*;
import org.jawin.browser.config.ConfigManager;
import org.jawin.browser.xsl.*;
import org.jawin.browser.log.Log;
import org.jawin.browser.util.FileUtilities;

/**
 * <p>Title: Jawin Code Generation GUI</p>
 * <p>Description: GUI for exploring type libraries and generating Java code</p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: Open Source Incentive</p>
 * @author Josh Passenger
 * @version 1.0
 */

public class InfoPanel extends JPanel implements TypeDataTreeSelectionListener
{
	private JScrollPane scrollPane = new JScrollPane();
	private BorderLayout borderLayout = new BorderLayout();
	private JEditorPane editorPane = new JEditorPane();
	private String noInfoString = "";

	public InfoPanel()
	{
		try
		{
			noInfoString = FileUtilities.loadString(ConfigManager.getInstance().getString("info.noInfoFile", "config/noinfo.html"));
			jbInit();
		}
		catch(Exception e)
		{
			noInfoString = "";
			e.printStackTrace();
		}
	}

	public void selectionChanged(BaseData selectedNode)
	{
		if (selectedNode == null)
		{
			clearInfo();
			return;
		}

		String nodeName = selectedNode.getClass().getName();

		if (!InfoConfigManager.getInstance().generatesInfo(nodeName))
		{
			clearInfo();
			return;
		}

		StringBuffer buffer = new StringBuffer();
		selectedNode.toXML(0, buffer);

		generateInfo(buffer.toString(), InfoConfigManager.getInstance().getStylesheet(nodeName));
	}

	private void generateInfo(String xml, String xslUrl)
	{
		try
		{
			String info = TransformationManager.getInstance().transform(xml, xslUrl);
			editorPane.setText(info);
			editorPane.setCaretPosition(0);
		}
		catch (TransformationException e)
		{
			Log.getInstance().exception("InfoPanel.generateInfo() failed to generated info", e);
			clearInfo();
		}
	}

	private void clearInfo()
	{
		editorPane.setText(noInfoString);
	}

	private void jbInit() throws Exception
	{
		editorPane.setEditable(false);
		setLayout(borderLayout);
		editorPane.setContentType("text/html");
		add(scrollPane, BorderLayout.CENTER);
		scrollPane.getViewport().add(editorPane, null);
		clearInfo();
	}
}

⌨️ 快捷键说明

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