8209499: Create test for SwingSet EditorPaneDemo

Reviewed-by: serb
This commit is contained in:
Abdul Kolarkunnu 2018-10-03 23:00:32 -07:00 committed by Abdul Kolarkunnu
parent afa8a8ff9b
commit 6352b5f64d
23 changed files with 891 additions and 0 deletions

View File

@ -0,0 +1,184 @@
/*
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
import static com.sun.swingset3.demos.editorpane.EditorPaneDemo.DEMO_TITLE;
import static com.sun.swingset3.demos.editorpane.EditorPaneDemo.SOURCE_FILES;
import static org.jemmy2ext.JemmyExt.EXACT_STRING_COMPARATOR;
import java.awt.Dimension;
import java.awt.Insets;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.beans.PropertyChangeListener;
import java.net.URL;
import java.util.concurrent.atomic.AtomicReference;
import javax.swing.UIManager;
import org.jemmy2ext.JemmyExt;
import org.jtregext.GuiTestListener;
import org.netbeans.jemmy.ClassReference;
import org.netbeans.jemmy.image.ImageTool;
import org.netbeans.jemmy.operators.JEditorPaneOperator;
import org.netbeans.jemmy.operators.JFrameOperator;
import org.testng.annotations.Listeners;
import org.testng.annotations.Test;
import com.sun.swingset3.demos.editorpane.EditorPaneDemo;
/*
* @test
* @key headful
* @summary Verifies SwingSet3 EditorPaneDemo by navigating and and validating
* the page contents in all pages
*
* @library /sanity/client/lib/jemmy/src
* @library /sanity/client/lib/Extensions/src
* @library /sanity/client/lib/SwingSet3/src
* @modules java.desktop
* java.logging
* @build org.jemmy2ext.JemmyExt
* @build com.sun.swingset3.demos.editorpane.EditorPaneDemo
* @run testng/timeout=600 EditorPaneDemoTest
*/
@Listeners(GuiTestListener.class)
public class EditorPaneDemoTest {
private final static String PROPERTY_NAME_PAGE = "page";
private final static String INDEX_PAGE_NAME = "index.html";
private final static String TEXT_IN_INDEX_PAGE = "Octavo Corporation";
private final static Dimension INDEX_IMAGE_DIMENSION = new Dimension(550, 428);
private final static Dimension imageDimensions[] = {new Dimension(320, 342),
new Dimension(420, 290), new Dimension(381, 384),
new Dimension(316, 498), new Dimension(481 ,325),
new Dimension(516, 445)};
private final static String REFERENCE_NAMES[] =
{"title", "king", "preface", "seaweed", "ant", "bug"};
private final static String TEXTS_IN_PAGES[] =
{"Physiological Descriptions", "ROBERT HOOKE",
"Mankind above other Creatures", "Area A B C D",
"Observ. XLIX", "Cylinder F F F"};
private final AtomicReference<URL> newPageURL = new AtomicReference<>();
/**
* Testing the navigation through all html pages in EditorPaneDemo by
* clicking on different references and validating the page contents.
*
* @throws Exception
*/
@Test(dataProvider = "availableLookAndFeels", dataProviderClass = TestHelpers.class)
public void test(String lookAndFeel) throws Exception {
UIManager.setLookAndFeel(lookAndFeel);
new ClassReference(EditorPaneDemo.class.getCanonicalName()).startApplication();
JFrameOperator frameOperator = new JFrameOperator(DEMO_TITLE);
frameOperator.setComparator(EXACT_STRING_COMPARATOR);
PropertyChangeListener pageChangeListener =
event -> newPageURL.set((URL) event.getNewValue());
JEditorPaneOperator editorPaneOperator = new JEditorPaneOperator(frameOperator);
try {
editorPaneOperator.addPropertyChangeListener(
PROPERTY_NAME_PAGE, pageChangeListener);
// Validation of initial or index page
URL indexURL = getPageURL(INDEX_PAGE_NAME);
editorPaneOperator.waitStateOnQueue(comp
-> indexURL.equals(editorPaneOperator.getPage()));
checkImage(editorPaneOperator, INDEX_IMAGE_DIMENSION, INDEX_PAGE_NAME);
checkTextPresence(editorPaneOperator, TEXT_IN_INDEX_PAGE);
// Clicking on different references and validating pages by selecting
// unique texts in each page
for (int i = 0; i < REFERENCE_NAMES.length; i++) {
editorPaneOperator.clickOnReference(REFERENCE_NAMES[i]);
validatePage(editorPaneOperator, i);
}
} finally {
editorPaneOperator.removePropertyChangeListener(
PROPERTY_NAME_PAGE, pageChangeListener);
}
}
private void checkTextPresence(
JEditorPaneOperator editorPaneOperator, String text) {
editorPaneOperator.selectText(text);
editorPaneOperator.waitStateOnQueue(comp
-> text.equals(editorPaneOperator.getSelectedText()));
}
private void validatePage(JEditorPaneOperator editorPaneOperator,
int i) throws Exception {
URL expectedPageURL = getPageURL(REFERENCE_NAMES[i] + ".html");
editorPaneOperator.waitStateOnQueue(comp
-> expectedPageURL.equals(newPageURL.get()));
checkImage(editorPaneOperator, imageDimensions[i], REFERENCE_NAMES[i]);
checkTextPresence(editorPaneOperator, TEXTS_IN_PAGES[i]);
}
private void checkImage(JEditorPaneOperator editorPaneOperator,
Dimension imageDim, String pageName) throws Exception {
// Captures image screen shot and checking some 10 pixels from inner
// area of the image are not default background color
Point compLoc = editorPaneOperator.getLocationOnScreen();
Insets insets = editorPaneOperator.getInsets();
Rectangle imageRect = new Rectangle(new Point(compLoc.x + insets.left,
compLoc.y + insets.top), imageDim);
final int xGap = 100, yGap = 40, columns = 2, rows = 5;
editorPaneOperator.waitState(comp -> {
BufferedImage capturedImage = ImageTool.getImage(imageRect);
int x = 0, y = 0, i = 0, j;
for (; i < columns; i++) {
x += xGap;
y = 0;
for (j = 0; j < rows; j++) {
y += yGap;
if(capturedImage.getRGB(x, y) ==
editorPaneOperator.getBackground().getRGB()) {
// saving image for failure case
JemmyExt.save(capturedImage, "capturedimage_" + pageName + "_" +
UIManager.getLookAndFeel().getClass().getSimpleName() + ".png");
return false;
}
}
}
return true;
});
}
/**
* Gets the URL corresponding to a page name
*
* @param pageName : name of the page
* @return : URL corresponding to page
*/
private URL getPageURL(String pageName) {
String url = null;
for (String sourceFile : SOURCE_FILES) {
if(sourceFile.endsWith(pageName)) {
url = sourceFile;
}
}
return getClass().getResource(url);
}
}

View File

@ -0,0 +1,150 @@
/*
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.swingset3.demos.editorpane;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JViewport;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;
import javax.swing.text.html.HTMLDocument;
import javax.swing.text.html.HTMLFrameHyperlinkEvent;
import com.sun.swingset3.DemoProperties;
/**
* EditorPane Demo (was HTMLDemo in SwingSet2)
*/
@DemoProperties(
value = "JEditorPane Demo",
category = "Text",
description = "Demonstrates JEditorPane, a text component which supports display and editing of rich text formats (such as HTML)",
sourceFiles = {
"com/sun/swingset3/demos/editorpane/EditorPaneDemo.java",
"com/sun/swingset3/demos/editorpane/book/ant.html",
"com/sun/swingset3/demos/editorpane/book/bug.html",
"com/sun/swingset3/demos/editorpane/book/index.html",
"com/sun/swingset3/demos/editorpane/book/king.html",
"com/sun/swingset3/demos/editorpane/book/preface.html",
"com/sun/swingset3/demos/editorpane/book/seaweed.html",
"com/sun/swingset3/demos/editorpane/book/title.html",
"com/sun/swingset3/demos/editorpane/book/editorpane/back.jpg",
"com/sun/swingset3/demos/editorpane/book/editorpane/forward.jpg",
"com/sun/swingset3/demos/editorpane/book/editorpane/header.jpg",
"com/sun/swingset3/demos/editorpane/book/Octavo/ant.jpg",
"com/sun/swingset3/demos/editorpane/book/Octavo/book.jpg",
"com/sun/swingset3/demos/editorpane/book/Octavo/bug.jpg",
"com/sun/swingset3/demos/editorpane/book/Octavo/bug2.jpg",
"com/sun/swingset3/demos/editorpane/book/Octavo/COPYRIGHT",
"com/sun/swingset3/demos/editorpane/book/Octavo/crest.jpg",
"com/sun/swingset3/demos/editorpane/book/Octavo/king.jpg",
"com/sun/swingset3/demos/editorpane/book/Octavo/micro.jpg",
"com/sun/swingset3/demos/editorpane/book/Octavo/seaweed.jpg",
"com/sun/swingset3/demos/editorpane/resources/EditorPaneDemo.properties",
"com/sun/swingset3/demos/editorpane/resources/images/EditorPaneDemo.gif"
}
)
public class EditorPaneDemo extends JPanel {
public static final String DEMO_TITLE = EditorPaneDemo.class.getAnnotation(DemoProperties.class).value();
public static final String[] SOURCE_FILES = EditorPaneDemo.class.getAnnotation(DemoProperties.class).sourceFiles();
private JEditorPane html;
/**
* main method allows us to run as a standalone demo.
*/
public static void main(String[] args) {
JFrame frame = new JFrame(EditorPaneDemo.class.getAnnotation(DemoProperties.class).value());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new EditorPaneDemo());
frame.setPreferredSize(new Dimension(800, 600));
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
/**
* EditorPaneDemo Constructor
*/
public EditorPaneDemo() {
setLayout(new BorderLayout());
try {
URL url;
// System.getProperty("user.dir") +
// System.getProperty("file.separator");
String path = null;
try {
path = "book/index.html";
url = getClass().getResource(path);
} catch (Exception e) {
System.err.println("Failed to open " + path);
url = null;
}
if (url != null) {
html = new JEditorPane(url);
html.setEditable(false);
html.addHyperlinkListener(createHyperLinkListener());
JScrollPane scroller = new JScrollPane();
JViewport vp = scroller.getViewport();
vp.add(html);
add(scroller, BorderLayout.CENTER);
}
} catch (MalformedURLException e) {
System.out.println("Malformed URL: " + e);
} catch (IOException e) {
System.out.println("IOException: " + e);
}
}
private HyperlinkListener createHyperLinkListener() {
return new HyperlinkListener() {
public void hyperlinkUpdate(HyperlinkEvent e) {
if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
if (e instanceof HTMLFrameHyperlinkEvent) {
((HTMLDocument) html.getDocument()).processHTMLFrameHyperlinkEvent(
(HTMLFrameHyperlinkEvent) e);
} else {
try {
html.setPage(e.getURL());
} catch (IOException ioe) {
System.out.println("IOE: " + ioe);
}
}
}
}
};
}
}

View File

@ -0,0 +1,2 @@
Images and text in the SwingSet3 EditorPane demo are used by permission of Octavo
Corporation and are sourced from Rare Book Room (rarebookroom.org).

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View File

@ -0,0 +1,121 @@
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF">
<img src="Octavo/ant.jpg" width="481" height="325">
<h1 align="center"><br>
Observ. XLIX. Of an Ant or Pismire.<br>
</h1>
<p align="center">&nbsp;</p>
<blockquote>
<blockquote>
<p><font size="4">This was a creature, more troublesom to be drawn, then any
of the rest, for I could not, for a good while, think of a way to make it
suffer its body to ly quiet in a natural posture; but whil'st it was alive,
if its feet were fetter'd in Wax or Glew, it would so twist and wind its body,
that I could not any wayes get a good view of it; and if I killed it, its
body was so little, that I did often spoile the shape of it, before I could
throughly view it: for this is the nature of these minute Bodies, that as
soon, almost, as ever their life is destroy'd, their parts immediately shrivel,
and lose their beauty; and so is it also with small Plants, as I instanced
before, in the description of Moss. </font></p>
<p><font size="4">And thence also is the reason of the variations in the beards
of wild Oats, and in those of Muskgrass seed, that their bodies, being exceeding
small, those small variations which are made in the surfaces of all bodies,
almost upon every change of Air, especially if the body be porous, do here
become sensible, where the whole body is so small, that it is almost nothing
but surface; for as in vegetable substances, I see no great reason to think,
that the moisture of the Aire (that, sticking to a wreath'd beard, does make
it untwist) should evaporate, or exhale away, any faster then the moisture
of other bodies, but rather that the avolation from, or access of moisture
to, the surfaces of bodies being much the same, those bodies become most
sensible of it, which have the least proportion of body to their surface.
</font></p>
<p><font size="4">So is it also with Animal substances; the dead body of an
Ant, or such little creature, does almost instantly shrivel and dry, and
your object shall be quite another thing, before you can half delineate
it, which proceeds not from the extraordinary exhalation, but from the small
proportion of body and juices, to the usual drying of bodies in the Air,
especially if warm. </font></p>
<p><font size="4">For which inconvenience, where I could not otherwise remove
it, I thought of this expedient. I took the creature, I had design'd to delineate,
and put it into a drop of very well rectified spirit of Wine, this I found
would presently dispatch, as it were, the Animal, and being taken out of
it, and lay'd on a paper,the spirit of Wine would immediately fly away,
and leave the Animal dry, in its natural posture, or at least, in a constitution,
that it might easily with a pin be plac'd, in what posture you desired to
draw it, and the limbs would so remain, without either moving, or shriveling.
</font></p>
<p><font size="4">And thus I dealt with this Ant, which I have here delineated,
which was one of many, of a very large kind, that inhabited under the Roots
of a Tree, from whence they would sally out in great parties, and make most
grievous havock of the Flowers and Fruits, in the ambient Garden, and return back
again very expertly, by the same wayes and paths they went. </font></p>
<p><font size="4">It was more then half the bigness of an Earwig, of a dark
brown, or reddish colour, with long legs, on the hinder of which it would
stand up, and raise its head as high as it could above the ground, that it
might stare the further about it, just after the same manner as I have also
observ'd a hunting Spider to do: and putting my finger towards them, they
have at first all run towards it, till almost at it; and then they would stand
round about it, at a certain distance, and smell, as it were, and consider
whether they should any of them venture any further, till one more bold then
the rest venturing to climb it, all the rest, if I would have suffered them,
would have immediately followed : much such other seemingly rational actions
I have observ'd in this little Vermine with much pleasure, which would be
too long to be here related; those that desire more of them may satisfie
their curiosity in Ligons History of the Barbadoes. </font></p>
<p><font size="4">Having insnar'd several of these into a small Box, I made
choice of the tallest grown among them, and separating it from the rest,
I gave it a Gill of Brandy, or Spirit of Wine, which after a while e'en knock'd
him down dead drunk, so that he became moveless, though at first putting
in he struggled for a pretty while very much, till at last, certain bubbles
issuing out of his mouth, it ceased to move; this (because I had before found
them quickly to recover again, if they were taken out presently) I suffered
to lye above an hour in the Spirit; and after I had taken it out, and put
its body and legs into a natural posture, remained moveless about an hour;
but then, upon a sudden, as if it had been awaken out of a drunken sleep,
it suddenly reviv'd and ran away; being caught, and serv'd as before, he
for a while continued struggling and striving, till at last there issued
several bubbles out of its mouth, and then, tanquam animam expirasset, he
remained moveless for a good while ; but at length again recovering, it was
again redipt, and suffered to lye some hours in the Spirit; notwithstanding
which, after it had layen dry some three or four hours, it again recovered
life and motion: Which kind of Experiments, if prosecuted, which they highly
deserve, seem to me of no inconsiderable use towards the invention of the
Latent Scheme, (as the Noble Ve rulam calls it) or the hidden, unknown Texture
of Bodies. </font></p>
<p><font size="4">Of what Figure this Creature appear'd through the Microscope,
the 32. Scheme (though not so carefully graven as it ought) will represent
to the eye, namely, That it had a large head A A, at the upper end of which
were two protuberant eyes, pearl'd like those of a Fly, but smaller B B;
of the Nose, or foremost part, issued two horns C C, of a shape sufficiently
differing from those of a blew Fly, though indeed they seem to be both the
same kind of Organ, and to serve for a kind of smelling; beyond these were
two indented jaws D D, which he open'd sideways, and was able to gape them
asunder very wide; and the ends of them being armed with teeth, which meeting
went between each other, it was able to grasp and hold a heavy body, three
or four times the bulk and weight of its own body: It had only six legs,
shap'd like those of a Fly, which, as I shewed before, is an Argument that
it is a winged Insect, and though I could not perceive any sign of them in
the middle part of its body (which seem'd to consist of three joints or pieces
E F G, out of which sprung two legs, yet 'tis known that there are of them
that have long wings, and fly up and down in the air. </font></p>
<p><font size="4">The third and last part of its body I I I was bigger and
larger then the other two, unto which it was joyn'd by a very small middle,
and had a kind of loose shell, or another distinct part of its body H, which
seem'd to be interpos'd, and to keep the thorax and belly from touching.
The whole body was cas'd over with a very strong armour, and the belly I
I I was covered likewise with multitudes of small white shining brisles;
the legs, horns, head, and middle parts of its body were bestruck with hairs
also, but smaller and darker. </font></p>
</blockquote>
<p>&nbsp;</p>
<p><a href="seaweed.html"><img src="editorpane/back.jpg" width="146" height="40" align="left" border="0"></a><a href="bug.html" name="bug"><img src="editorpane/forward.jpg" width="196" height="40" align="right" border="0"></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</blockquote>
</body>
</html>

View File

@ -0,0 +1,128 @@
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF">
<img src="Octavo/bug.jpg" width="516" height="445">
<br>
<h1 align="center">Observ. LIV. Of a Louse.<br>
</h1>
<p align="center">&nbsp;</p>
<blockquote>
<blockquote>
<p><font size="4">This is a Creature so officious, that 'twill be known to
every one at one time or other, so busie, and so impudent, that it will
be intruding it self in every ones company, and so proud and aspiring withall,
that it fears not to trample on the best, and affects nothing so much as
a Crown; feeds and lives very high, and that makes it so saucy, as to pull
any one by the ears that comes in its way, and will never be quiet till
it has drawn blood: it is troubled at nothing so much as at a man that scratches
his head, as knowing that man is plotting and contriving some mischief against
it, and that makes it oftentime sculk into some meaner and lower place, and
run behind a mans back, though it go very much against the hair; which ill
conditions of it having made it better known then trusted, would exempt me
from making any further description of it, did not my faithful Mercury, my
Microscope, bring me other information of it. </font></p>
<p><font size="4">For this has discovered to me, by means of a very bright light
cast on it, that it is a Creature of a very odd shape ; it has a head shap'd
like that exprest in 35. Scheme marked with A, which seems almost Conical,
but is a little flatted on the upper and under sides, at the biggest part
of which, on either side behind the head (as it were, being the place where
other Creatures ears stand) are placed its two black shining goggle eyes
B B, looking backwards, and fenced round with several small cilia or hairs
that incompass it, so that it seems this Creature has no very good foresight:
It does not seem to have any eyelids, and therefore perhaps its eyes were
so placed, that it might the better cleanse them with its forelegs; and perhaps
this may be the reason, why they so much avoid and run from the light behind
them, for being made to live in the shady and dark recesses of the hair,
and thence probably their eye having a great aperture, the open and clear
light, especially that of the Sun, must needs very much offend them; to secure
these eyes from receiving any injury from the hairs through which it passes,
it has two horns that grow before it, in the place where one would have thought
the eyes should be; each of these C C have four joynts, which are fringed,
as 'twere, with small brisles, from which to the tip of its snout D, the
head seems very round and tapering, ending in a very sharp nose D, which
seems to have a small hole, and to be the passage through which he sucks
the blood. </font></p>
<p>&nbsp;</p>
<p><img src="Octavo/bug2.jpg" width="537" height="348"></p>
<p><font size="4">Now whereas it if be plac'd on its back, with its belly
upwards, as it is in the 35. Scheme, it seems in several Positions to have
a resemblance of chaps, or jaws, as is represented in the Figure by E E,
yet in other postures those dark strokes disappear; and having kept several
of them in a box for two or three dayes, so that for all that time they had
nothing to feed on, I found, upon letting onecreep on my hand, that it immediately
fell to sucking, and did neither seem to thrust its nose very deep into the
skin, nor to open any kind of mouth, but I could plainly perceive a small
current of blood, which came directly from its snout, and past into its belly;
and about A there seem'd a contrivance, somewhat resembling a Pump, pair
of Bellows, or Heart, for by a very swift systole and diastole the blood
seem'd drawn from the nose, and forced into the body. </font></p>
<p><font size="4">It did not seem at all, though I viewed it a good while as
it was sucking, to thrust more of its nose into the skin then the very snout
D, nor did it cause the least discernable pain, and yet the blood seem'd
to run through its head very quick and freely, so that it seems there is
no part of the skin but the blood is dispers'd into, nay, even into the
cuticula; for had it thrust its whole nose in from D to C C, it would not
have amounted to the supposed thickness of that tegument, the length of
the nose being not more then a three hundredth part of an inch. </font></p>
<p><font size="4">It has six legs, covered with a very transparent shell,
and joynted exactly like a Crab's, or Lobster's; each leg is divided into
six parts by these joynts, and those have here and there several small hairs;
and at the end of each leg it has two claws, very properly adapted for its
peculiar use, being thereby inabled to walk very securely both on the skin
and hair; and indeed this contrivance of the feet is very curious, and could
not be made more commodiously and compendiously, for performing both these
requisite motions, of walking and climbing up the hair of a mans head, then
it is : for, by having the lesser claw (a) set so much short of the bigger
(b) when it walks on the skin the shorter touches not, and then the feet
are the same with those of a Mite, and several other small Insects, but by
means of the small joynts of the longer claw it can bend it round, and so
with both claws take hold of a hair, in the manner represented in the Figure,
the long transparent Cylinder F F F, being a Man's hair held by it. </font></p>
<p><font size="4">The Thorax seem'd cas'd with another kind of substance then
the belly, namely, with a thin transparent horny substance, which upon the fasting
of the Creature did not grow flaccid; through this I could plainly see the
blood, suck'd from my hand, to be variously distributed, and mov'd to and
fro; and about G there seem'd a pretty big white substance, which seem'd
to be moved within its thorax; besides, there appear'd very many small milk-white
vessels, which crost over the breast between the legs, out of which, on
either side, are many small branchings, these seem'd to be the veins and
arteries, for that which is analogus to blood in all Insects is milk-white.
</font></p>
<p><font size="4">The belly is covered with a transparent substance likewise,
but more resembling a skin then a shell, for 'tis grain'd all over the belly
just like the skin in the palms of a man's hand, and when the belly is empty,
grows very flaccid and wrinkled ; at the upper end of this is placed the
stomach H H, and perhaps also the white spot I I may be the liver, or pancreas,
which by the peristaltick motion of the guts, is a little mov'd to and fro,
not with a systole and diastole, but rather with a thronging or justling
motion. </font></p>
<p><font size="4">Viewing one of these Creatures, after it had fasted two
dayes, all the hinder part was lank and flaccid, and the white spot I I
hardly mov'd, most of the white branchings disappear'd, and most also of
the redness or sucked blood in the guts, the peristaltick motion of which
was scarce discernable; but upon the suffering it to suck, it presently
fill'd the skin of the belly, and of the six scolop'd embosments on either side,
as full as it could be stuft ; the stomach and guts were as full as they
could hold; the peristaltick motion of the gut grew quick, and the justling
motion of I I accordingly ; multitudes of milk-white vessels seem'd quickly
filled, and turgid, which were perhaps the veins and arteries, and the Creature
was so greedy, that though it could not contain more, yet it continued sucking
as fast as ever, and as fast emptying it self behind : the digestion of this
Creature must needs be very quick, for though I perceiv'd the blood thicker
and blacker when suck'd, yet, when in the guts, it was of a very lovely
ruby colour, and that part of it, which was digested into the veins, seemed
white; whence it appears, that a further digestion of blood may make it
milk, at least of a resembling colour : What is else observable in the figure
of this Creature, maybe seen by the 35. Scheme.</font></p>
</blockquote>
<p>&nbsp;</p>
<p><a href="ant.html"><img src="editorpane/back.jpg" width="146" height="40" align="left" border="0"></a><a href="index.html" name="index"><img src="editorpane/forward.jpg" width="196" height="40" align="right" border="0"></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</blockquote>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -0,0 +1,41 @@
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF">
<img src="Octavo/book.jpg" width="550" height="428">
<p>&nbsp;</p>
<p align="center"><img src="editorpane/header.jpg" width="363" height="171"></p>
<p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
<blockquote>
<h3><b><a href="title.html" name="title">Title Page</a></b></h3>
<h3><b><a href="king.html">To The King</a></b></h3>
<h3><b><a href="preface.html">The Preface</a></b></h3>
<h3><a href="seaweed.html">Of the curious texture of Sea-weeds</a></h3>
<h3><a href="ant.html">Of an Ant or Pismire</a></h3>
<h3><a href="bug.html">Of a Louse</a> <br>
<br>
<br>
</h3>
<p><font color="#990000" size="4">Images and text used by permission of Octavo
Corporation (www.octavo.com),<br>
</font><font color="#990000" size="4">(c) 1999 Octavo Corporation. All
rights reserved.</font> <br>
<br>
<br>
<font size="2">Octavo Corporation is a publisher of rare
books and manuscripts with digital tools and formats through partnerships
with libraries, museums, and individuals. Using high-resolution digital imaging
technology, Octavo releases digital rare books on CD-ROM as Adobe PDF files
which can be viewed on and printed from almost any computing platform. You
can view each page and the binding on your computer screen, zoom in to view
detail up to 800% in some cases, and search, copy and paste the "live" text
placed invisibly behind the page images which is available for selected Editions.
Also included in each edition is the work's collation and provenance, as well
as commentary by a noted expert in its field. </font></p>
</blockquote>
<p>&nbsp;</p>
</body>
</html>

View File

@ -0,0 +1,44 @@
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF">
<img src="Octavo/king.jpg" width="420" height="290">
<p align="center">&nbsp;</p>
<blockquote> <font size="4">Do here most humbly lay this small Present at Your
Majesties Royal feet. And though it comes accompany'd with two disadvantages,
the meanness of the Author, and of the Subject; yet in both I am incouraged
by the greatness of your Mercy and your Knowledge. </font>
<p><font size="4">By the one I am taught , that you can forgive the most presumptuous
Offendors: And by the other, that you will not esteem the least work of Nature,
or Art, unworthy your Observation. </font></p>
<p><font size="4">Amidst the many felicities that have accompani'd your Majesties
happy Restauration and Government, it is none of the least considerable, that
Philosophy and Experimental Learning have prosper'd under your Royal Patronage.</font></p>
<p><font size="4">And as the calm prosperity of your Reign has given us the
leisure to follow these Studies of quiet and retirement, so it is just, that
the Fruits of them should, by way of acknowledgement, be return'd to your
Majesty. There are, Sir, several other of your Subjects, of your Royal Society,
now busie about Nobler matters: The Improvement of Manufactures and Agriculture,
the Increase of Commerce, the Advantage of Navigation: In all which they are
assisted by your Majesties Incouragement and Example. </font></p>
<p><font size="4">Amidst all those greater Designs, I here presume to bring
in that which is more proportionable to the smalness of my Abilities, and
to offer some of the least of all visible things, to that Mighty King, that
has establisht an Empire over the best of all Invisible things of this World,
the Minds o f Men.</font></p>
<blockquote>
<p align="right">&nbsp;</p>
</blockquote>
<p align="right"><i><font size="5">Your Majesties most humble</font></i></p>
<p align="right"><font size="5"><i> and most obedient</i></font></p>
<p align="right"><font size="5"><i> Subject and Servant,</i></font></p>
<p align="right">&nbsp;</p>
<p align="right"><b><font size="5">ROBERT HOOKE .</font></b></p>
<p align="right">&nbsp;</p>
<p align="right"><a href="title.html"><img src="editorpane/back.jpg" width="146" height="40" align="left" border="0"></a><a href="preface.html" name="preface"><img src="editorpane/forward.jpg" width="196" height="40" align="right" border="0"></a></p>
</blockquote>
</body>
</html>

View File

@ -0,0 +1,116 @@
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF">
<img src="Octavo/micro.jpg" width="381" height="384">
<div align="center">
<p>&nbsp;</p>
<h1 align="center">THE PREFACE</h1>
</div>
<div align="right">
<p align="left">&nbsp;</p>
<p>&nbsp;</p>
</div>
<blockquote>
<div align="left">
<p><font size="5"> <font size="4">It is the great prerogative of Mankind above
other Creatures, that we are not only able to behold the works of Nature,
or barely to sustein our lives by them, but we have also the power of considering,
comparing, altering, assisting, and improving them to various uses. </font></font></p>
<p><font size="4">And as this is the peculiar priviledge of humane Nature
in general, so is it capable of being so far advanced by the helps of Art,
and Experience, as to make some Men excel others in their Observations,
and Deductions, almost as much as they do Beasts. </font></p>
<p><font size="4">By the addition of such artificial Instruments and methods,
there may be, in some manner, a reparation made for the mischiefs, and imperfection,
mankind has drawn upon itself, by negligence, and intemperance, and a wilful
and superstitious deserting the Prescripts and Rules of Nature, whereby
every man, both from a deriv'd corruption, innate and born with him, and
from his breeding and converse with men, is very subject to slip into all
sorts of errors. </font></p>
<p><font size="4">The only way which now remains for us to recover some degree
of those former perfections, seems to be, by rectifying the operations of
the Sense, the Memory, and Reason, since upon the evidence, the strength,
the integrity, and the right correspondence of all these, all the light,
by which our actions are to be guided, is to be renewed, and all our command
over things is to be establisht.</font></p>
<p><font size="4"> It is therefore most worthy of our consideration, to recollect
their several defects, that so we may the better understand how to supply
them, and by what assistances we may inlarge their power, and secure them
in performing their particular duties.</font></p>
<p><font size="4">As for the actions of our Senses, we cannot but observe
them to be in many particulars much outdone by those of other Creatures,
and when at best, to be far short of the perfection they seem capable of
: And these infirmities of the Senses arise from a double cause, either
from the disproportion of the Object to the Organ, whereby an infinite number
of things can never enter into them, or else from error in the Perception,
that many things, which come within their reach, are not received in a right
manner. </font></p>
<p><font size="4">The like frailties are to be found in the Memory; we often
let many things slip away from us, which deserve to be retain'd; and of
those which we treasure up, a great part is either frivolous or false ;
and if good, and substantial, either in tract of time obliterated, or at
best so overwhelmed and buried under more frothy notions, that when there
is need of them, they are in vain sought for. </font></p>
<p><font size="4">The two main foundations being so deceivable, it is no wonder,
that all the succeeding works which we build upon them, of arguing, concluding,
defining, judging, and all the other degrees of Reason, are lyable to the
same imperfection, being, at best, either vain, or uncertain: So that the
errors of the understanding are answerable to the two other, being defective
both in the quantity and goodness of its knowledge; for the limits, to which
our thoughts are confind, are small in respect of the vast extent of Nature
it self; some parts of it are too large to be comprehended, and some too
little to be perceived. </font></p>
<p><font size="4">And from thence it must follow, that not having a full sensation
of the Object, we must be very lame and imperfect in our conceptions about
it, and in all the propositions which we build upon it; hence we often take
the shadow of things for the substance, small appearances for good similitudes,
similitudes for definitions; and even many of those, which we think to be
the most solid definitions, are rather expressions of our own misguided
apprehensions then of the true nature of the things themselves. </font></p>
<p><font size="4">The effects of these imperfections are manifested in different
ways, according to the temper and disposition of the several minds of men,
some they incline to gross ignorance and stupidity, and others to a presumptuous
imposing on other mens Opinions, and a confident dogmatizing on matters,
whereof there is no assurance to be given. </font></p>
<p><font size="4">Thus all the uncertainty, and mistakes of humane actions,
proceed either from the narrowness and wandring of our Senses, from the
slipperiness or delusion of our Memory, from the confinement or rashness
of our Understanding, so that 'tis no wonder, that our power over natural
causes and effects is so slowly improvd, seeing we are not only to contend
with the obscurity and difficulty of the things whereon we work and think,
but even the forces of our own minds conspire to betray us. </font></p>
<p><font size="4">These being the dangers in the process of humane Reason,
the remedies of them all can only proceed from the real, the mechanical,
the experimental Philosophy, which has this advantage over the Philosophy
of discourse and disputation, that whereas that chiefly aims at the subtilty
of its Deductions and Conclusions, without much regard to the first groundwork,
which ought to be well laid on the Sense and Memory ; so this intends the
right ordering of them all, and the making them serviceable to each other.
</font></p>
<p><font size="4">The first thing to be undertaken in this weighty work, is
a watchfulness over the failings and an inlargement of the dominion, of
the Senses. To which end it is requisite, first, That there should be a
scrupulous choice, and a strict examination, of the reality, constancy,
and certainty of the Particulars that we admit: This is the first rise whereon
truth is to begin, and here the most severe, and most impartial diligence,
must be imployed ; the storing up of all, without any regard to evidence
or use, will only tend to darkness and confusion. </font></p>
<p><font size="4">We must not therefore esteem the riches of our Philosophical
treasure by the number only, but chiefly by the weight; the most vulgar
Instances are not to be neglected, but above all, the most instructive are
to be entertain'd: the footsteps of Nature are to be trac'd, not only in
her ordinary course,but when she seems to be put to her shifts, to make
many doublings and turnings, and to use some kind of art in indeavouring
to avoid our discovery. </font></p>
<p>&nbsp;</p>
<p><a href="king.html"><img src="editorpane/back.jpg" width="146" height="40" align="left" border="0"></a><a href="seaweed.html" name="seaweed"><img src="editorpane/forward.jpg" width="196" height="40" align="right" border="0"></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
</blockquote>
</body>
</html>

View File

@ -0,0 +1,62 @@
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF">
<img src="Octavo/seaweed.jpg" width="316" height="498">
<h1 align="center"><br>
Observ. XXIII. Of the curious texture of Sea-weeds.<br>
</h1>
<p align="center">&nbsp;</p>
<blockquote>
<p><font size="4">For curiosity and beauty, I have not among all the Plants
or Vegetables I have yet observ'd, seen any one comparable to this Sea-weed
I have here describ'd, of which I am able to say very little more then what
is represented by the second Figure of the ninth Scheme: Namely, that it is
a Plant which grows upon the Rocks under the water, and increases and spreads
it self into a great tuft, which is not onely handsomely branch'd into several
leaves, but the whole surface of the Plant is cover'd over with a most curious
kind of carv'd work, which consists of a texture much resembling a Honeycomb;
for the whole surface on both sides is cover'd over with a multitude of very
small holes, being no bigger then so many holes made with the point of a small
Pinn, and rang'd in the neatest and most delicate order imaginable, they being
plac'd in the manner of a Quincunx, or very much like the rows of the eyes
of a Fly, the rows or orders being very regular, which way soever they are
observ'd: what the texture was, as it appear'd through a pretty bigg Magnifying
Microscope, I have here adjoin'd in the first Figure of the 14. Scheme. which
round Area A B C D represents a part of the surface about one eighth part
of an Inch in Diameter: Those little holes, which to the eye look'd round,
like so many little spots, here appear'd very regularly shap'd holes, representing
almost the shape of the sole of a round toed shoe, the hinder part of which,
is, as it were, trod on or cover'd by the toe of that next below it; these
holes seem'd wall'd about with a very thin and transparent substance, looking
of a pale straw-colour; from the edge of which, against the middle of each
hole, were sprouted out four small transparent straw-colour'd Thorns, which
seem'd to protect and cover those cavities, from either side two; neer the
root of this Plant, were sprouted out several small branches of a kind of
bastard Coralline, curiously branch'd, though small. </font></p>
<p><font size="4">And to confirm this, having lately the opportunity of viewing
the large Plant (if I may so call it) of a Sponge petrify'd, of which I made
mention in the last Observation, I found, that each of the Branches or Figures
of it, did, by the range of its pores, exhibit just such a texture, the rows
of pores crossing one another, much after the manner as the rows of eyes do
which are describ'd in the 26. Scheme : Coralline also, and several sorts of
white Coral, I have with a Microscope observ'd very curiously shap'd. And
I doubt not, but that he that shall observe these several kinds of Plants that
grow upon Rocks, which the Sea sometimes overflows, and those heaps of others
which are vomited out of it upon the shore, may find multitudes of little
Plants, and other bodies, which like this will afford very beautifull objects
for the Microscope ; and this Specimen here is adjoin'd onely to excite their
curiosities who have opportunity of observing to examine and collect what
they find worthy their notice; for the Sea, among terrestrial bodies, is also
a prolifick mother, and affords as many Instances of spontaneous generations
as either the Air or Earth.</font></p>
<p>&nbsp;</p>
<p><a href="preface.html"><img src="editorpane/back.jpg" width="146" height="40" align="left" border="0"></a><a href="ant.html" name="ant"><img src="editorpane/forward.jpg" width="196" height="40" align="right" border="0"></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</blockquote>
</body>
</html>

View File

@ -0,0 +1,37 @@
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF">
<img src="Octavo/crest.jpg" width="320" height="342">
<h1 align="center"><font size="+1"><b><font size="+4" color="#990033"><br>
MICROGRAPHIA:</font><font size="+4"> </font></b></font></h1>
<p align="center"><b>OR SOME </b></p>
<p align="center"><font size="5">Physiological Descriptions </font></p>
<p align="center"><b>O F</b></p>
<p align="center"> <font size="6"><b><font color="#9F1040">MINUTE BODIES</font></b></font></p>
<p align="center"> <b>MADE BY </b></p>
<p align="center"><font size="5" color="#9F1040">MAGNIFYING GLASSES. </font></p>
<p align="center"><b>WITH </b></p>
<p align="center"><b><font color="#990033">OBSERVATIONS</font></b> and <b><font color="#9F1040">INQUIRIES</font></b>
thereupon.</p>
<p align="center"> By <font color="#990033"><i><b>R. HOOKE</b></i></font><b><i>
,</i></b> Fellow of the <font color="#990033">ROYAL SOCIETY</font> .</p>
<blockquote>
<blockquote>
<blockquote>
<p align="center"><i>LONDON</i>, Printed by <font color="#990033"><i>Jo.
Martyn</i>,</font> and <font color="#990033"><i>Ja. Allestry,</i></font>
Printers to the <font color="#990033">ROYAL SOCIETY </font>, and are to
be sold at their Shop at the Bell in S. Paul's Church-yard. <font color="#990000">M
D C L X V.</font></p>
<p align="center"><font color="#990000"><br>
</font></p>
</blockquote>
<p><a href="index.html"><img src="editorpane/back.jpg" width="146" height="40" align="left" border="0"></a><a href="king.html" name="king"><img src="editorpane/forward.jpg" width="196" height="40" align="right" border="0"></a></p>
</blockquote>
</blockquote>
</body>
</html>

View File

@ -0,0 +1,6 @@
### Html Demo ###
EditorPaneDemo.accessible_description=This demo shows how to display html text using the JEditorPane component.
EditorPaneDemo.tooltip=JEditorPane HTML demo
EditorPaneDemo.name=JEditorPane HTML Demo
EditorPaneDemo.filename=swing.html

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 B