diff --git a/lib/djnativeswing-swt.jar b/lib/djnativeswing-swt.jar
new file mode 100644
index 0000000..5fd63dd
Binary files /dev/null and b/lib/djnativeswing-swt.jar differ
diff --git a/lib/djnativeswing.jar b/lib/djnativeswing.jar
new file mode 100644
index 0000000..b16382d
Binary files /dev/null and b/lib/djnativeswing.jar differ
diff --git a/lib/swt-4.3-win32-win32-x86_64.jar b/lib/swt-4.3-win32-win32-x86_64.jar
new file mode 100644
index 0000000..916306b
Binary files /dev/null and b/lib/swt-4.3-win32-win32-x86_64.jar differ
diff --git a/pom.xml b/pom.xml
index 815f8c4..4ff99c4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -93,6 +93,36 @@
+
+
+ djnativeswing
+ djnativeswing
+ 4.3
+ system
+ ${project.basedir}/lib/djnativeswing.jar
+
+
+
+
+
+ djnativeswing_swt
+ djnativeswing_swt
+ 4.3
+ system
+ ${project.basedir}/lib/djnativeswing-swt.jar
+
+
+
+
+
+ swt-4.3-win32-win32-x86_64
+ swt-4.3-win32-win32-x86_64
+ 4.3
+ system
+ ${project.basedir}/lib/swt-4.3-win32-win32-x86_64.jar
+
+
+
org.jsoup
diff --git a/src/main/java/com/wuzf/swing/demos/DemoModule.java b/src/main/java/com/wuzf/swing/demos/DemoModule.java
index 9316cfa..c45c39b 100644
--- a/src/main/java/com/wuzf/swing/demos/DemoModule.java
+++ b/src/main/java/com/wuzf/swing/demos/DemoModule.java
@@ -17,6 +17,7 @@ package com.wuzf.swing.demos;/*
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.io.BufferedReader;
+import java.io.File;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
@@ -246,9 +247,12 @@ public class DemoModule extends JApplet {
InputStreamReader isr;
CodeViewer cv = new CodeViewer();
URL url;
-
+ String worspaceAbPath = System.getProperty("user.dir");
+ String java_path ="\\src\\main\\java\\";
+ String demo_path = "com\\wuzf\\swing\\demos\\";
try {
- url = getClass().getResource(filename);
+ String path = worspaceAbPath + java_path +demo_path + filename;
+ url = new File(path).toURL();
is = url.openStream();
isr = new InputStreamReader(is, "UTF-8");
BufferedReader reader = new BufferedReader(isr);
diff --git a/src/main/java/com/wuzf/swing/demos/SwingSet2.java b/src/main/java/com/wuzf/swing/demos/SwingSet2.java
index e6bb8fe..bb9a568 100644
--- a/src/main/java/com/wuzf/swing/demos/SwingSet2.java
+++ b/src/main/java/com/wuzf/swing/demos/SwingSet2.java
@@ -281,7 +281,7 @@ public class SwingSet2 extends JPanel {
// BeautyEyeLNFHelper.FrameBorderStyle.osLookAndFeelDecorated;
//// UIManager.setLookAndFeel(BeautyEyeLNFHelper.getBeautyEyeLNFCrossPlatform());//new WindowsLookAndFeel());
UIManager.put("RootPane.setupButtonVisible", false);
- BeautyEyeLNFHelper.debug = true;
+ BeautyEyeLNFHelper.debug = false;
// BeautyEyeLNFHelper.translucencyAtFrameInactive = false;
BeautyEyeLNFHelper.launchBeautyEyeLNF();
// UIManager.put("ToolBar.border",new BorderUIResource(
diff --git a/src/main/java/com/wuzf/swing/utils/DragTest.java b/src/main/java/com/wuzf/swing/utils/DragTest.java
new file mode 100644
index 0000000..eb35fd8
--- /dev/null
+++ b/src/main/java/com/wuzf/swing/utils/DragTest.java
@@ -0,0 +1,123 @@
+/*
+ * Copyright (C), 2022-2022, Freedom Person
+ * FileName: DragTestUtil.java
+ * Author: lucky
+ * Date: 2022/1/16 5:21
+ * Description: //模块目的、功能描述
+ * History: //修改记录
+ *
+ * 修改人姓名 修改时间 版本号 描述
+ */
+package com.wuzf.swing.utils;
+
+import com.wuzf.swing.demos.SwingSet2;
+
+import javax.swing.*;
+import javax.swing.text.JTextComponent;
+import java.awt.*;
+import java.awt.datatransfer.DataFlavor;
+import java.awt.dnd.DnDConstants;
+import java.awt.dnd.DropTarget;
+import java.awt.dnd.DropTargetAdapter;
+import java.awt.dnd.DropTargetDropEvent;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 功能描述:
+ *
+ * @author lucky
+ * @see [相关类/方法](可选)
+ * @since [产品/模块版本] (可选)
+ */
+
+public class DragTest extends JFrame{
+
+ JPanel panel;//要接受拖拽的面板
+ public DragTest()
+ {
+
+ panel = new JPanel();
+ panel.setBackground(Color.WHITE);
+ getContentPane().add(panel, BorderLayout.CENTER);
+ setSize(500, 400);
+ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ setLocation(400, 200);
+
+ panel.setLayout(null);// 将父JPanel的布局设置为绝对布局
+ setTitle("最简单的拖拽示例:拖拽文件到下面");
+
+ List allowedFileTypeList = Arrays.asList(".jpg",".xlsx",".doc",".docx",".xls",".txt");
+ JTextArea jta = new JTextArea();
+ //在文本框上添加滚动条
+ JScrollPane jsp = new JScrollPane(jta);
+
+ //设置矩形大小.参数依次为(矩形左上角横坐标x,矩形左上角纵坐标y,矩形长度,矩形宽度)
+ jsp.setBounds(30,30,400,250);
+
+ //默认的设置是超过文本框才会显示滚动条,以下设置让滚动条一直显示
+// jsp.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
+
+ //把滚动条添加到容器里面
+ panel.add(jsp);
+ openDrag(jta,jta, allowedFileTypeList);//启用拖拽
+ }
+ public static void main(String[] args) throws Exception
+ {
+ //UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");//设置皮肤
+ SwingSet2.initBeautyStyle();
+ new DragTest().setVisible(true);;
+ }
+ public static void openDrag(JComponent allowDropComponent, JTextComponent showPathComponent, List allowedFileTypeList)//定义的拖拽方法
+ {
+ DropTargetAdapter dropTargetAdapter = new DropTargetAdapter(){
+ List fileList = new ArrayList<>();
+ @Override
+ public void drop(DropTargetDropEvent dtde)//重写适配器的drop方法
+ {
+ try
+ {
+ List failfileList = new ArrayList<>();
+ if (dtde.isDataFlavorSupported(DataFlavor.javaFileListFlavor))//如果拖入的文件格式受支持
+ {
+ dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);//接收拖拽来的数据
+ fileList = (List) (dtde.getTransferable().getTransferData(DataFlavor.javaFileListFlavor));
+ String temp="";
+ for(File file : fileList){
+
+ String fileAbsolutePath = file.getAbsolutePath();
+ String fileName = file.getName();
+ String fileSuffix = fileName.substring(fileName.lastIndexOf("."));
+ if (!allowedFileTypeList.contains(fileSuffix.toLowerCase()) && allowedFileTypeList.size() > 0){
+ failfileList.add(file.getAbsolutePath());
+ System.out.println(failfileList);
+ JOptionPane.showMessageDialog(null, "仅支持word/xlsx/jpg格式文件");
+ return ;
+ }
+
+ temp+= fileAbsolutePath +";\n";
+ }
+ //输入框中显示 文件路径
+ showPathComponent.setText(fileList.get(0).getAbsolutePath());
+ JOptionPane.showMessageDialog(null, temp);
+ dtde.dropComplete(true);//指示拖拽操作已完成
+ }
+ else
+ {
+ JOptionPane.showMessageDialog(null, "仅支持文件格式");
+ dtde.rejectDrop();//否则拒绝拖拽来的数据
+ }
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+ };
+
+ //panel表示要接受拖拽的控件
+ DropTarget target = new DropTarget(allowDropComponent, DnDConstants.ACTION_COPY_OR_MOVE, dropTargetAdapter);
+ }
+}
diff --git a/src/main/java/com/wuzf/swing/utils/JavaFileDragDrop.java b/src/main/java/com/wuzf/swing/utils/JavaFileDragDrop.java
new file mode 100644
index 0000000..6823718
--- /dev/null
+++ b/src/main/java/com/wuzf/swing/utils/JavaFileDragDrop.java
@@ -0,0 +1,121 @@
+/*
+ * Copyright (C), 2022-2022, Freedom Person
+ * FileName: JavaFileDragDrop.java
+ * Author: lucky
+ * Date: 2022/1/16 13:57
+ * Description: //模块目的、功能描述
+ * History: //修改记录
+ *
+ * 修改人姓名 修改时间 版本号 描述
+ */
+package com.wuzf.swing.utils;
+
+import javax.swing.*;
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.Transferable;
+import java.awt.dnd.DnDConstants;
+import java.awt.dnd.DropTarget;
+import java.awt.dnd.DropTargetAdapter;
+import java.awt.dnd.DropTargetDropEvent;
+import java.io.File;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * 功能描述:
+ *
+ * @author lucky
+ * @see [相关类/方法](可选)
+ * @since [产品/模块版本] (可选)
+ */
+
+public class JavaFileDragDrop extends JFrame
+
+{
+
+ JTextArea jta;
+
+ public JavaFileDragDrop()
+
+ {
+
+ this.setTitle("java file drag and drop test");
+
+ this.setBounds(150,150,300,300);
+
+ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+
+ this.setLayout(null);
+
+ jta=new JTextArea();
+
+ DropTargetAdapter kgd=new DropTargetAdapter() {
+
+ public void drop(DropTargetDropEvent dtde) {
+ try
+ {
+
+ Transferable tf=dtde.getTransferable();
+
+ if(tf.isDataFlavorSupported(DataFlavor.javaFileListFlavor))
+
+ {
+
+ dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
+
+ List lt=(List)tf.getTransferData(DataFlavor.javaFileListFlavor);
+
+ Iterator itor=lt.iterator();
+
+ while(itor.hasNext())
+
+ {
+ File f=(File)itor.next();
+ jta.setText(jta.getText()+"n"+f.getAbsolutePath());
+ }
+ dtde.dropComplete(true);
+ } else {
+ dtde.rejectDrop();
+ }
+
+ }
+
+ catch(Exception e)
+
+ {
+
+ e.printStackTrace();
+
+ }
+
+ }
+
+ };
+
+ new DropTarget(jta, DnDConstants.ACTION_COPY_OR_MOVE,kgd);
+
+ //在文本框上添加滚动条
+ JScrollPane jsp = new JScrollPane(jta);
+
+ //设置矩形大小.参数依次为(矩形左上角横坐标x,矩形左上角纵坐标y,矩形长度,矩形宽度)
+ jsp.setBounds(30,30,250,250);
+
+ //默认的设置是超过文本框才会显示滚动条,以下设置让滚动条一直显示
+// jsp.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
+
+ //把滚动条添加到容器里面
+ this.add(jsp);
+
+ this.setVisible(true);
+
+ }
+
+ public static void main(String[] args)
+
+ {
+
+ new JavaFileDragDrop();
+
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/wuzf/swing/utils/UploadFileUtil.java b/src/main/java/com/wuzf/swing/utils/UploadFileUtil.java
new file mode 100644
index 0000000..4c49507
--- /dev/null
+++ b/src/main/java/com/wuzf/swing/utils/UploadFileUtil.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (C), 2022-2022, Freedom Person
+ * FileName: UploadFile.java
+ * Author: lucky
+ * Date: 2022/1/16 4:50
+ * Description: //模块目的、功能描述
+ * History: //修改记录
+ *
+ * 修改人姓名 修改时间 版本号 描述
+ */
+package com.wuzf.swing.utils;
+
+import com.wuzf.swing.demos.SwingSet2;
+
+import javax.swing.*;
+import javax.swing.filechooser.FileNameExtensionFilter;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.io.*;
+import java.util.HashSet;
+
+/**
+ * 功能描述:
+ *
+ * @author lucky
+ * @see [相关类/方法](可选)
+ * @since [产品/模块版本] (可选)
+ */
+
+public class UploadFileUtil {
+
+ public static void createUploadFrame(String title,Object selectedValue) {
+ JFrame jframe = new JFrame(title);// 实例化一个JFrame
+ JPanel jPanel = new JPanel(); // 创建一个轻量级容器
+ JToolBar jToolBar = new JToolBar(); // 提供了一个用来显示常用的 Action 或控件的组件
+ jframe.setVisible(true);// 可见
+ jframe.setSize(500, 500);// 窗体大小
+ jframe.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);// close的方式
+ jframe.setContentPane(jPanel); // 设置 contentPane 属性。
+ JLabel jl = new JLabel("请选择:");// 创建一个Label标签
+ jl.setHorizontalAlignment(SwingConstants.LEFT);// 样式,让文字居中
+ jPanel.add("North", jl);// 将标签添加到容器中
+ jPanel.add("North", jToolBar);
+ JButton developer = new JButton("上传文件");
+ developer.setHorizontalAlignment(SwingConstants.CENTER);
+ jToolBar.add(developer);// 上传文件按钮添加到容器
+ jPanel.add("North", jToolBar);
+ developer.addMouseListener(new MouseAdapter() { // 添加鼠标点击事件
+ public void mouseClicked(MouseEvent event) {
+ eventOnImport(new JButton());
+ }
+ }); // 文件上传功能
+ }
+
+ /**
+ * 文件上传功能
+ *
+ * @param developer
+ * 按钮控件名称
+ */
+ public static void eventOnImport(JButton developer) {
+ JFileChooser chooser = new JFileChooser();
+ chooser.setMultiSelectionEnabled(true);
+ /** 过滤文件类型 * */
+ FileNameExtensionFilter filter = new FileNameExtensionFilter("war",
+ "xml", "txt", "doc", "docx");
+ chooser.setFileFilter(filter);
+ int returnVal = chooser.showOpenDialog(developer);
+ if (returnVal == JFileChooser.APPROVE_OPTION) {
+ /** 得到选择的文件* */
+ File[] arrfiles = chooser.getSelectedFiles();
+ if (arrfiles == null || arrfiles.length == 0) {
+ return;
+ }
+ FileInputStream input = null;
+ FileOutputStream out = null;
+ String path = "./";
+ try {
+ for (File f : arrfiles) {
+ File dir = new File(path);
+ /** 目标文件夹 * */
+ File[] fs = dir.listFiles();
+ HashSet set = new HashSet();
+ for (File file : fs) {
+ set.add(file.getName());
+ }
+ /** 判断是否已有该文件* */
+ if (set.contains(f.getName())) {
+ JOptionPane.showMessageDialog(new JDialog(),
+ f.getName() + ":该文件已存在!");
+ return;
+ }
+ input = new FileInputStream(f);
+ byte[] buffer = new byte[1024];
+ File des = new File(path, f.getName());
+ out = new FileOutputStream(des);
+ int len = 0;
+ while (-1 != (len = input.read(buffer))) {
+ out.write(buffer, 0, len);
+ }
+ out.close();
+ input.close();
+ }
+ JOptionPane.showMessageDialog(null, "上传成功!", "提示",
+ JOptionPane.INFORMATION_MESSAGE);
+
+ } catch (FileNotFoundException e1) {
+ JOptionPane.showMessageDialog(null, "上传失败!", "提示",
+ JOptionPane.ERROR_MESSAGE);
+ e1.printStackTrace();
+ } catch (IOException e1) {
+ JOptionPane.showMessageDialog(null, "上传失败!", "提示",
+ JOptionPane.ERROR_MESSAGE);
+ e1.printStackTrace();
+ }
+ }
+ }
+
+ public static void main(String[] args) {
+ //初始化ui
+// SwingSet2.initBeautyStyle();
+ createUploadFrame("上传文件","管理员");
+
+ }
+}
diff --git a/src/main/java/com/wuzf/swing/utils/WzfJwebFrame.java b/src/main/java/com/wuzf/swing/utils/WzfJwebFrame.java
new file mode 100644
index 0000000..860790d
--- /dev/null
+++ b/src/main/java/com/wuzf/swing/utils/WzfJwebFrame.java
@@ -0,0 +1,200 @@
+/*
+ * Copyright (C), 2022-2022, Freedom Person
+ * FileName: JwebBrowser.java
+ * Author: lucky
+ * Date: 2022/1/16 16:11
+ * Description: //模块目的、功能描述
+ * History: //修改记录
+ *
+ * 修改人姓名 修改时间 版本号 描述
+ */
+package com.wuzf.swing.utils;
+
+
+import chrriis.dj.nativeswing.common.UIUtils;
+import chrriis.dj.nativeswing.swtimpl.NativeInterface;
+import chrriis.dj.nativeswing.swtimpl.components.*;
+import com.wuzf.swing.demos.SwingSet2;
+
+import javax.swing.*;
+import java.awt.*;
+import java.beans.PropertyVetoException;
+import java.util.Hashtable;
+import java.util.Map;
+
+/**
+ * 功能描述:
+ *
+ * @author lucky
+ * @see [相关类/方法](可选)
+ * @since [产品/模块版本] (可选)
+ */
+
+public class WzfJwebFrame extends JInternalFrame {
+
+ public static JWebBrowser webBrowser ; //浏览器模型
+
+ public static Map t_jwbrowsers=new Hashtable();
+
+// private static final String URL = "https://www.luckyblank.cn";
+ // private static final String URL = "file:///D:/project/recent/jdk-test/Demo/summer/index.html";
+
+ public static JInternalFrame createInternalFrame(String url) throws PropertyVetoException {
+ JInternalFrame internalFrame = new JInternalFrame(
+ "WzfJwebBrowser", // title
+ true, // resizable
+ true, // closable
+ true, // maximizable
+ true // iconifiable
+ );
+
+ internalFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+
+ internalFrame.setSize(1183, 700);
+ // 设置窗口的显示位置
+ internalFrame.setLocation(0, 0);
+ internalFrame.setLayout(null);
+
+ webBrowser = new JWebBrowser();
+ webBrowser .navigate(url);
+ webBrowser .setPreferredSize(new Dimension(800,400));
+ webBrowser .setBarsVisible(false);
+ webBrowser .setMenuBarVisible(false);
+ webBrowser .setButtonBarVisible(false);
+ webBrowser .setStatusBarVisible(false);
+
+ //添加事件监听
+ webBrowser.addWebBrowserListener(new WebBrowserListener() {
+
+ @Override
+ public void windowWillOpen(WebBrowserWindowWillOpenEvent arg0) {
+ JWebBrowser jwb=arg0.getNewWebBrowser();
+ String location=jwb.getResourceLocation();
+ System.out.println("windowWillOpen: "+location);
+ }
+
+ @Override
+ public void windowOpening(WebBrowserWindowOpeningEvent arg0) {
+// JWebBrowser jwb=arg0.getNewWebBrowser();
+// String location=jwb.getResourceLocation();
+// System.out.println(location);
+ }
+
+ @Override
+ public void windowClosing(WebBrowserEvent arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void titleChanged(WebBrowserEvent arg0) {
+
+ }
+
+ @Override
+ public void statusChanged(WebBrowserEvent arg0) {
+
+ }
+
+ @Override
+ public void locationChanging(WebBrowserNavigationEvent arg0) {
+ String location=arg0.getNewResourceLocation();
+ System.out.println("locationChanging: "+location);
+ }
+
+ @Override
+ public void locationChanged(WebBrowserNavigationEvent arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void locationChangeCanceled(WebBrowserNavigationEvent arg0) {
+
+ }
+
+ @Override
+ public void loadingProgressChanged(WebBrowserEvent arg0) {
+
+ }
+
+ @Override
+ public void commandReceived(WebBrowserCommandEvent arg0) {
+
+ }
+ });
+
+ //存储URL和webrowser关系
+ t_jwbrowsers.put(url, webBrowser);
+
+ // 创建内容面板
+ JPanel panel = new JPanel(new BorderLayout());
+
+ // 添加组件到面板
+ panel.add(webBrowser,BorderLayout.CENTER);
+
+ // 设置内部窗口的内容面板
+ internalFrame.setContentPane(panel);
+ // 显示内部窗口
+ internalFrame.setVisible(true);
+
+ return internalFrame;
+ }
+
+
+ public static void main(String[] args) {
+ //ui
+ SwingSet2.initBeautyStyle();
+
+ //初始化Native Swing
+ UIUtils.setPreferredLookAndFeel();
+
+ if(!NativeInterface.isOpen()){
+ NativeInterface.initialize();
+ NativeInterface.open();
+ }
+
+ SwingUtilities.invokeLater(new Runnable() {
+ public void run() {
+ try {
+
+ creatGUI();
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ });
+ //介绍网站https://sourceforge.net/p/djproject/discussion/671154/thread/e813001e/
+ //NativeInterface.runEventPump();
+
+ }
+ public static JWebBrowser getJWebBrowser(String url){
+ return t_jwbrowsers.get(url);
+ }
+
+ public static JFrame creatGUI() throws PropertyVetoException {
+
+ JFrame jf = new JFrame("测试窗口");
+ jf.setSize(1200, 800);
+ jf.setLocationRelativeTo(null);
+ jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
+ //创建桌面面板
+ JDesktopPane desktopPane = new JDesktopPane(); //桌面面板
+
+ // 创建 内部窗口
+ String url = "https://www.luckyblank.cn";
+ url = "https://www.baidu.com";
+ JInternalFrame internalFrame = createInternalFrame(url);
+
+ // 添加 内部窗口 到 桌面面板
+ desktopPane.add(internalFrame);
+
+ desktopPane.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE); //设置内部窗体拖动模式
+// jf.getContentPane().add(desktopPane,BorderLayout.CENTER);; // 设置 contentPane 属性。
+ jf.setContentPane(desktopPane);
+ jf.setVisible(true);
+ return jf;
+ }
+
+}
diff --git a/src/main/resources/templates/ant.html b/src/main/resources/templates/ant.html
index eb9619b..95bce40 100644
--- a/src/main/resources/templates/ant.html
+++ b/src/main/resources/templates/ant.html
@@ -8,7 +8,7 @@
Observ. XLIX. Of an Ant or Pismire.
-
+
@@ -113,7 +113,7 @@
also, but smaller and darker.
-
+
diff --git a/src/main/resources/templates/bug.html b/src/main/resources/templates/bug.html
index bf3b159..53a71e4 100644
--- a/src/main/resources/templates/bug.html
+++ b/src/main/resources/templates/bug.html
@@ -8,7 +8,7 @@
Observ. LIV. Of a Louse.
-
+
@@ -47,7 +47,7 @@
seems to have a small hole, and to be the passage through which he sucks
the blood.
-
+
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,
@@ -120,7 +120,7 @@
of this Creature, maybe seen by the 35. Scheme.
-
+
diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html
index 1f67b94..0f5d1af 100644
--- a/src/main/resources/templates/index.html
+++ b/src/main/resources/templates/index.html
@@ -1,9 +1,15 @@
-
+
+
+
Untitled Document
-
+
+
+
@@ -11,7 +17,8 @@
-
+ The Java Tutorial: JDialog trail .
+
diff --git a/src/main/resources/templates/king.html b/src/main/resources/templates/king.html
index a6f458a..29059ed 100644
--- a/src/main/resources/templates/king.html
+++ b/src/main/resources/templates/king.html
@@ -5,7 +5,7 @@
-
+
Do here most humbly lay this small Present at Your
@@ -39,7 +39,7 @@
ROBERT HOOKE .
-
+
diff --git a/src/main/resources/templates/preface.html b/src/main/resources/templates/preface.html
index 8138b28..b428207 100644
--- a/src/main/resources/templates/preface.html
+++ b/src/main/resources/templates/preface.html
@@ -8,7 +8,7 @@
THE PREFACE
-
+
@@ -106,7 +106,7 @@
many doublings and turnings, and to use some kind of art in indeavouring
to avoid our discovery.
-
+
diff --git a/src/main/resources/templates/seaweed.html b/src/main/resources/templates/seaweed.html
index fd2a943..d05641c 100644
--- a/src/main/resources/templates/seaweed.html
+++ b/src/main/resources/templates/seaweed.html
@@ -8,7 +8,7 @@
Observ. XXIII. Of the curious texture of Sea-weeds.
-
+
For curiosity and beauty, I have not among all the Plants
@@ -54,7 +54,7 @@
a prolifick mother, and affords as many Instances of spontaneous generations
as either the Air or Earth.
-
+
diff --git a/src/main/resources/templates/title.html b/src/main/resources/templates/title.html
index ea13f5c..cae5451 100644
--- a/src/main/resources/templates/title.html
+++ b/src/main/resources/templates/title.html
@@ -18,7 +18,7 @@
thereupon.
By R. HOOKE
, Fellow of the ROYAL SOCIETY .
-
+
@@ -30,7 +30,7 @@
-
+