Browse Source

更新:增加Jbrowser

master
luckyblank 3 years ago
parent
commit
8bda699f6e
  1. BIN
      lib/djnativeswing-swt.jar
  2. BIN
      lib/djnativeswing.jar
  3. BIN
      lib/swt-4.3-win32-win32-x86_64.jar
  4. 30
      pom.xml
  5. 8
      src/main/java/com/wuzf/swing/demos/DemoModule.java
  6. 2
      src/main/java/com/wuzf/swing/demos/SwingSet2.java
  7. 123
      src/main/java/com/wuzf/swing/utils/DragTest.java
  8. 121
      src/main/java/com/wuzf/swing/utils/JavaFileDragDrop.java
  9. 125
      src/main/java/com/wuzf/swing/utils/UploadFileUtil.java
  10. 200
      src/main/java/com/wuzf/swing/utils/WzfJwebFrame.java
  11. 4
      src/main/resources/templates/ant.html
  12. 6
      src/main/resources/templates/bug.html
  13. 13
      src/main/resources/templates/index.html
  14. 4
      src/main/resources/templates/king.html
  15. 4
      src/main/resources/templates/preface.html
  16. 4
      src/main/resources/templates/seaweed.html
  17. 4
      src/main/resources/templates/title.html

BIN
lib/djnativeswing-swt.jar

Binary file not shown.

BIN
lib/djnativeswing.jar

Binary file not shown.

BIN
lib/swt-4.3-win32-win32-x86_64.jar

Binary file not shown.

30
pom.xml

@ -93,6 +93,36 @@
</dependency> </dependency>
<!-- beauty 相关的本地JAR --> <!-- beauty 相关的本地JAR -->
<!-- djnativeswing 相关的本地JAR -->
<dependency>
<groupId>djnativeswing</groupId>
<artifactId>djnativeswing</artifactId>
<version>4.3</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/djnativeswing.jar</systemPath>
</dependency>
<!-- djnativeswing 相关的本地JAR -->
<!-- djnativeswing-swt 相关的本地JAR -->
<dependency>
<groupId>djnativeswing_swt</groupId>
<artifactId>djnativeswing_swt</artifactId>
<version>4.3</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/djnativeswing-swt.jar</systemPath>
</dependency>
<!-- djnativeswing-swt 相关的本地JAR -->
<!-- org.eclipse.swt.win32.win32.x86_64-4.2 相关的本地JAR -->
<dependency>
<groupId>swt-4.3-win32-win32-x86_64</groupId>
<artifactId>swt-4.3-win32-win32-x86_64</artifactId>
<version>4.3</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/swt-4.3-win32-win32-x86_64.jar</systemPath>
</dependency>
<!-- org.eclipse.swt.win32.win32.x86_64-4.2 相关的本地JAR -->
<!-- jsoup HTML parser library @ https://jsoup.org/ --> <!-- jsoup HTML parser library @ https://jsoup.org/ -->
<dependency> <dependency>
<groupId>org.jsoup</groupId> <groupId>org.jsoup</groupId>

8
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.BorderLayout;
import java.awt.Dimension; import java.awt.Dimension;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.File;
import java.io.InputStream; import java.io.InputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.net.URL; import java.net.URL;
@ -246,9 +247,12 @@ public class DemoModule extends JApplet {
InputStreamReader isr; InputStreamReader isr;
CodeViewer cv = new CodeViewer(); CodeViewer cv = new CodeViewer();
URL url; URL url;
String worspaceAbPath = System.getProperty("user.dir");
String java_path ="\\src\\main\\java\\";
String demo_path = "com\\wuzf\\swing\\demos\\";
try { try {
url = getClass().getResource(filename); String path = worspaceAbPath + java_path +demo_path + filename;
url = new File(path).toURL();
is = url.openStream(); is = url.openStream();
isr = new InputStreamReader(is, "UTF-8"); isr = new InputStreamReader(is, "UTF-8");
BufferedReader reader = new BufferedReader(isr); BufferedReader reader = new BufferedReader(isr);

2
src/main/java/com/wuzf/swing/demos/SwingSet2.java

@ -281,7 +281,7 @@ public class SwingSet2 extends JPanel {
// BeautyEyeLNFHelper.FrameBorderStyle.osLookAndFeelDecorated; // BeautyEyeLNFHelper.FrameBorderStyle.osLookAndFeelDecorated;
//// UIManager.setLookAndFeel(BeautyEyeLNFHelper.getBeautyEyeLNFCrossPlatform());//new WindowsLookAndFeel()); //// UIManager.setLookAndFeel(BeautyEyeLNFHelper.getBeautyEyeLNFCrossPlatform());//new WindowsLookAndFeel());
UIManager.put("RootPane.setupButtonVisible", false); UIManager.put("RootPane.setupButtonVisible", false);
BeautyEyeLNFHelper.debug = true; BeautyEyeLNFHelper.debug = false;
// BeautyEyeLNFHelper.translucencyAtFrameInactive = false; // BeautyEyeLNFHelper.translucencyAtFrameInactive = false;
BeautyEyeLNFHelper.launchBeautyEyeLNF(); BeautyEyeLNFHelper.launchBeautyEyeLNF();
// UIManager.put("ToolBar.border",new BorderUIResource( // UIManager.put("ToolBar.border",new BorderUIResource(

123
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: //修改记录
* <author> <time> <version> <desc>
* 修改人姓名 修改时间 版本号 描述
*/
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;
/**
* 功能描述:<br>
*
* @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<String> 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<String> allowedFileTypeList)//定义的拖拽方法
{
DropTargetAdapter dropTargetAdapter = new DropTargetAdapter(){
List<File> fileList = new ArrayList<>();
@Override
public void drop(DropTargetDropEvent dtde)//重写适配器的drop方法
{
try
{
List<String> failfileList = new ArrayList<>();
if (dtde.isDataFlavorSupported(DataFlavor.javaFileListFlavor))//如果拖入的文件格式受支持
{
dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);//接收拖拽来的数据
fileList = (List<File>) (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);
}
}

121
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: //修改记录
* <author> <time> <version> <desc>
* 修改人姓名 修改时间 版本号 描述
*/
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;
/**
* 功能描述:<br>
*
* @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();
}
}

125
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: //修改记录
* <author> <time> <version> <desc>
* 修改人姓名 修改时间 版本号 描述
*/
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;
/**
* 功能描述:<br>
*
* @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<String> set = new HashSet<String>();
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("上传文件","管理员");
}
}

200
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: //修改记录
* <author> <time> <version> <desc>
* 修改人姓名 修改时间 版本号 描述
*/
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;
/**
* 功能描述:<br>
*
* @author lucky
* @see [相关类/方法]可选
* @since [产品/模块版本] 可选
*/
public class WzfJwebFrame extends JInternalFrame {
public static JWebBrowser webBrowser ; //浏览器模型
public static Map<String,JWebBrowser> t_jwbrowsers=new Hashtable<String, JWebBrowser>();
// 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;
}
}

4
src/main/resources/templates/ant.html

@ -8,7 +8,7 @@
<h1 align="center"><br> <h1 align="center"><br>
Observ. XLIX. Of an Ant or Pismire.<br> Observ. XLIX. Of an Ant or Pismire.<br>
</h1> </h1>
<p align="center"><img src="images/Octavo/ant.jpg" width="481" height="325"></p> <p align="center"><img src="../static/images/Octavo/ant.jpg" width="481" height="325"></p>
<p align="center">&nbsp;</p> <p align="center">&nbsp;</p>
<blockquote> <blockquote>
<blockquote> <blockquote>
@ -113,7 +113,7 @@
also, but smaller and darker. </font></p> also, but smaller and darker. </font></p>
</blockquote> </blockquote>
<p>&nbsp;</p> <p>&nbsp;</p>
<p><a href="seaweed.html"><img src="images/htmldemo/back.jpg" width="146" height="40" align="left" border="0"></a><a href="bug.html"><img src="images/htmldemo/forward.jpg" width="196" height="40" align="right" border="0"></a></p> <p><a href="seaweed.html"><img src="../static/images/htmldemo/back.jpg" width="146" height="40" align="left" border="0"></a><a href="bug.html"><img src="../static/images/htmldemo/forward.jpg" width="196" height="40" align="right" border="0"></a></p>
<p>&nbsp;</p> <p>&nbsp;</p>
<p>&nbsp;</p> <p>&nbsp;</p>
</blockquote> </blockquote>

6
src/main/resources/templates/bug.html

@ -8,7 +8,7 @@
<br> <br>
<h1 align="center">Observ. LIV. Of a Louse.<br> <h1 align="center">Observ. LIV. Of a Louse.<br>
</h1> </h1>
<p align="center"><img src="images/Octavo/bug.jpg" width="516" height="445"></p> <p align="center"><img src="../static/images/Octavo/bug.jpg" width="516" height="445"></p>
<p align="center">&nbsp;</p> <p align="center">&nbsp;</p>
<blockquote> <blockquote>
<blockquote> <blockquote>
@ -47,7 +47,7 @@
seems to have a small hole, and to be the passage through which he sucks seems to have a small hole, and to be the passage through which he sucks
the blood. </font></p> the blood. </font></p>
<p>&nbsp;</p> <p>&nbsp;</p>
<p><img src="images/Octavo/bug2.jpg" width="537" height="348"></p> <p><img src="../static/images/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 <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 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, 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.</font></p> of this Creature, maybe seen by the 35. Scheme.</font></p>
</blockquote> </blockquote>
<p>&nbsp;</p> <p>&nbsp;</p>
<p><a href="ant.html"><img src="images/htmldemo/back.jpg" width="146" height="40" align="left" border="0"></a><a href="index.html"><img src="images/htmldemo/forward.jpg" width="196" height="40" align="right" border="0"></a></p> <p><a href="ant.html"><img src="../static/images/htmldemo/back.jpg" width="146" height="40" align="left" border="0"></a><a href="index.html"><img src="../static/images/htmldemo/forward.jpg" width="196" height="40" align="right" border="0"></a></p>
<p>&nbsp;</p> <p>&nbsp;</p>
<p>&nbsp;</p> <p>&nbsp;</p>
</blockquote> </blockquote>

13
src/main/resources/templates/index.html

@ -1,9 +1,15 @@
<html> <!-- <?xml version="1.0" encoding="UTF-8"?> -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<title>Untitled Document</title> <title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script>
alert('11111111')
</script>
</head> </head>
<body bgcolor="#FFFFFF"> <body bgcolor="#FFFFFF">
<p>&nbsp;</p> <p>&nbsp;</p>
<p align="center"><img src="../static/images/htmldemo/header.jpg" width="363" height="171"></p> <p align="center"><img src="../static/images/htmldemo/header.jpg" width="363" height="171"></p>
@ -11,7 +17,8 @@
<p align="center">&nbsp;</p> <p align="center">&nbsp;</p>
<p align="center">&nbsp;</p> <p align="center">&nbsp;</p>
<blockquote> <blockquote>
<h3><b><a href="title.html">Title Page</a></b></h3> <a href="http://java.sun.com/docs/books/tutorial/uiswing/components/dialog.html">The Java Tutorial: JDialog trail</a>.
<h3><b><a href="https://www.luckyblank.cn" target="_blank">Title Page</a></b></h3>
<h3><b><a href="king.html">To The King</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><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="seaweed.html">Of the curious texture of Sea-weeds</a></h3>

4
src/main/resources/templates/king.html

@ -5,7 +5,7 @@
</head> </head>
<body bgcolor="#FFFFFF"> <body bgcolor="#FFFFFF">
<p align="center"><font size="5"><img src="images/Octavo/king.jpg" width="420" height="290"> <p align="center"><font size="5"><img src="../static/images/Octavo/king.jpg" width="420" height="290">
</font></p> </font></p>
<p align="center">&nbsp;</p> <p align="center">&nbsp;</p>
<blockquote> <font size="4">Do here most humbly lay this small Present at Your <blockquote> <font size="4">Do here most humbly lay this small Present at Your
@ -39,7 +39,7 @@
<p align="right">&nbsp;</p> <p align="right">&nbsp;</p>
<p align="right"><b><font size="5">ROBERT HOOKE .</font></b></p> <p align="right"><b><font size="5">ROBERT HOOKE .</font></b></p>
<p align="right">&nbsp;</p> <p align="right">&nbsp;</p>
<p align="right"><a href="title.html"><img src="images/htmldemo/back.jpg" width="146" height="40" align="left" border="0"></a><a href="preface.html"><img src="images/htmldemo/forward.jpg" width="196" height="40" align="right" border="0"></a></p> <p align="right"><a href="title.html"><img src="../static/images/htmldemo/back.jpg" width="146" height="40" align="left" border="0"></a><a href="preface.html"><img src="../static/images/htmldemo/forward.jpg" width="196" height="40" align="right" border="0"></a></p>
</blockquote> </blockquote>
</body> </body>
</html> </html>

4
src/main/resources/templates/preface.html

@ -8,7 +8,7 @@
<div align="center"> <div align="center">
<p>&nbsp;</p> <p>&nbsp;</p>
<h1 align="center">THE PREFACE</h1> <h1 align="center">THE PREFACE</h1>
<img src="images/Octavo/micro.jpg" width="381" height="384"> </div> <img src="../static/images/Octavo/micro.jpg" width="381" height="384"> </div>
<div align="right"> <div align="right">
<p align="left">&nbsp;</p> <p align="left">&nbsp;</p>
<p>&nbsp;</p> <p>&nbsp;</p>
@ -106,7 +106,7 @@
many doublings and turnings, and to use some kind of art in indeavouring many doublings and turnings, and to use some kind of art in indeavouring
to avoid our discovery. </font></p> to avoid our discovery. </font></p>
<p>&nbsp;</p> <p>&nbsp;</p>
<p><a href="king.html"><img src="images/htmldemo/back.jpg" width="146" height="40" align="left" border="0"></a><a href="seaweed.html"><img src="images/htmldemo/forward.jpg" width="196" height="40" align="right" border="0"></a></p> <p><a href="king.html"><img src="../static/images/htmldemo/back.jpg" width="146" height="40" align="left" border="0"></a><a href="seaweed.html"><img src="../static/images/htmldemo/forward.jpg" width="196" height="40" align="right" border="0"></a></p>
<p>&nbsp;</p> <p>&nbsp;</p>
<p>&nbsp;</p> <p>&nbsp;</p>
</div> </div>

4
src/main/resources/templates/seaweed.html

@ -8,7 +8,7 @@
<h1 align="center"><br> <h1 align="center"><br>
Observ. XXIII. Of the curious texture of Sea-weeds.<br> Observ. XXIII. Of the curious texture of Sea-weeds.<br>
</h1> </h1>
<p align="center"><img src="images/Octavo/seaweed.jpg" width="316" height="498"></p> <p align="center"><img src="../static/images/Octavo/seaweed.jpg" width="316" height="498"></p>
<p align="center">&nbsp;</p> <p align="center">&nbsp;</p>
<blockquote> <blockquote>
<p><font size="4">For curiosity and beauty, I have not among all the Plants <p><font size="4">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 a prolifick mother, and affords as many Instances of spontaneous generations
as either the Air or Earth.</font></p> as either the Air or Earth.</font></p>
<p>&nbsp;</p> <p>&nbsp;</p>
<p><a href="preface.html"><img src="images/htmldemo/back.jpg" width="146" height="40" align="left" border="0"></a><a href="ant.html"><img src="images/htmldemo/forward.jpg" width="196" height="40" align="right" border="0"></a></p> <p><a href="preface.html"><img src="../static/images/htmldemo/back.jpg" width="146" height="40" align="left" border="0"></a><a href="ant.html"><img src="../static/images/htmldemo/forward.jpg" width="196" height="40" align="right" border="0"></a></p>
<p>&nbsp;</p> <p>&nbsp;</p>
<p>&nbsp;</p> <p>&nbsp;</p>
</blockquote> </blockquote>

4
src/main/resources/templates/title.html

@ -18,7 +18,7 @@
thereupon.</p> thereupon.</p>
<p align="center"> By <font color="#990033"><i><b>R. HOOKE</b></i></font><b><i> <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> ,</i></b> Fellow of the <font color="#990033">ROYAL SOCIETY</font> .</p>
<p align="center"><img src="images/Octavo/crest.jpg" width="320" height="342"></p> <p align="center"><img src="../static/images/Octavo/crest.jpg" width="320" height="342"></p>
<blockquote> <blockquote>
<blockquote> <blockquote>
<blockquote> <blockquote>
@ -30,7 +30,7 @@
<p align="center"><font color="#990000"><br> <p align="center"><font color="#990000"><br>
</font></p> </font></p>
</blockquote> </blockquote>
<p><a href="index.html"><img src="images/htmldemo/back.jpg" width="146" height="40" align="left" border="0"></a><a href="king.html"><img src="images/htmldemo/forward.jpg" width="196" height="40" align="right" border="0"></a></p> <p><a href="index.html"><img src="../static/images/htmldemo/back.jpg" width="146" height="40" align="left" border="0"></a><a href="king.html"><img src="../static/images/htmldemo/forward.jpg" width="196" height="40" align="right" border="0"></a></p>
</blockquote> </blockquote>
</blockquote> </blockquote>
</body> </body>

Loading…
Cancel
Save