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

📄 derivedjframe.java

📁 Pasc+Java 这是一个国外的随机自动机*(RAM)一个学习用的程序
💻 JAVA
字号:
import java.io.*;
import java.util.*;
import javax.swing.*;
import javax.swing.text.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.*;

/**
 * DerivedJFrame.class enthält Code zum Öffnen einer in einem
 * Ziparchiv gepackten Text- oder HTML-Datei in einem Fenster,
 * entweder als einfacher Text oder wie in einem Web-Browser.
 *
 * @author	Michael Wels
 */
public class DerivedJFrame extends JFrame implements
								   java.awt.event.ActionListener {

	// Ein Textfeld
	private JTextPane outputText = null;
	// Ein Scrollbalken
	private JScrollPane aScrollpane = null;
	// Der Abbruchbutton
	private JButton abbruchButton = null;
	// Ein Feld f黵 HTML
	private JEditorPane outputHtml;

	/**
	 * Dieser Konstruktor übernimmt ein Stringobjekt, welches die nun
	 * zu öffnende HTML-Datei bezeichnen soll. Anschlie遝nd wird ein
	 * Fenster mit dem Inhalt der Datei angezeigt.
	 *
	 * @param String
	 */
	DerivedJFrame(String name) {
		// Konstruktor der beerbeten Klasse
		super(name);


		// Initialisierung des Tests, ob es sich um eine HTML-Datei handelt
		String html1 = "";
		String html2 = "";
		for (int i = name.length() - 4 ; i < name.length(); i++) {
			html1 += name.charAt(i);
		}
		for (int i = name.length() - 5 ; i < name.length(); i++) {
					html2 += name.charAt(i);
		}
		try {
			// Initialisierung des Zipeingabestroms
			BufferedReader ZIPText = new BufferedReader(new FileReader(name));

            // Test, ob es sich um eine HTML-Datei handelt
			if (html1.equals(".htm") || html2.equals(".html")) {

				// Es handelt sich um eine HTML-Datei.
				outputHtml = new JEditorPane();

				// Es soll HTML angezeigt werden.
				outputHtml.setContentType("text/html");
				outputHtml.setEditorKit(
					outputHtml.getEditorKitForContentType("text/html"));

				// Der Rollbalken wird um den JEditorPane gelegt
				aScrollpane = new JScrollPane();
				aScrollpane.setViewportView(outputHtml);

				// Der "Abbruch"-Button wird angelegt
				abbruchButton = new JButton();
				abbruchButton.setText("Schlie遝n");
				abbruchButton.addActionListener(this);

				// Einfuegen der Fensterbestandteile
				getContentPane().add(aScrollpane, BorderLayout.CENTER);
				getContentPane().add(abbruchButton, BorderLayout.SOUTH);
				getContentPane().setSize(600, 375);
    			setSize(600, 375);

    			// Laden und Einfuegen des HTML-Texts
    			String s = "";
    			StringBuffer gesamt = new StringBuffer();
				while ((s = ZIPText.readLine())!= null) {
					gesamt.append(s);
				}
				outputHtml.setText(gesamt.toString() + "\n");
				outputHtml.setEditable(false);

				// Beim Schlie遝n soll nur in das andere Fenster
				// zurueckgesprungen werden
				this.addWindowListener(new WindowAdapter() {
					public void windowClosing(WindowEvent e) {
						setVisible(false);
					}
				});

				// Fenster sichtbar machen
				setVisible(true);

			} else {
				System.out.println("Hilfdatei nicht gefunden.");
			}
		} catch (IOException ex) {
			System.err.println("Fehler in Methode 'DerivedJFrame." +
				"DerivedJFrame(String name, ZipFile eingabeZIP)'.");
		}

	}

	/**
	 * &Uuml;berschreibt die abstrakte Methode
	 * java.awt.event.ActionListener.actionPerformed(ActionEvent e)
	 * gem&auml;&szlig den hier vorliegenden Anforderungen.
     *
	 * @param ActionEvent
	 */
	public void actionPerformed(ActionEvent e) {
		if ((e.getSource() == abbruchButton) ) {
			setVisible(false);
    	}
	}
}

⌨️ 快捷键说明

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