如何解决网站未显示在处理程序中
我试图让我的处理项目显示一个网页,但它不起作用。有谁知道为什么?
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
public class GetWebPage {
public static void main(String args[]) throws Exception {
JEditorPane website = new JEditorPane("https://www.google.nl/maps/@51.7385025,-2.6407162,3a,79y,132.82h,79.64t/data=!3m6!1e1!3m4!1sMe0y36wXo7_CSHvur_4kPg!2e0!7i13312!8i6656?hl=nl");
website.setEditable(false);
JFrame frame = new JFrame("Google");
frame.add(new JScrollPane(website));
frame.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(800,600);
frame.setVisible(true);
}
}
解决方法
正如评论中提到的,JEditorPane 非常有限(主要是不支持必需的 JS)。
例如:
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
void setup(){
showWebPage();
println("done");
}
void draw(){
}
void showWebPage(){
try{
JEditorPane website = new JEditorPane("https://www.google.nl/maps/@51.7385025,-2.6407162,3a,79y,132.82h,79.64t/data=!3m6!1e1!3m4!1sMe0y36wXo7_CSHvur_4kPg!2e0!7i13312!8i6656?hl=nl");
website.setEditable(false);
JFrame frame = new JFrame("Google");
frame.add(new JScrollPane(website));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(800,600);
frame.setVisible(true);
}catch(IOException e){
e.printStackTrace();
}
}
输出:
如果您不需要交互性,您可以使用 Google Street View Static API
以下是其中一个示例:
PImage streetView;
void setup() {
size(400,400);
streetView = loadImage("https://maps.googleapis.com/maps/api/streetview?size=400x400&location=47.5763831,-122.4211769&fov=80&heading=70&pitch=0&key=AIzaSyA3kg7YWugGl1lTXmAmaBGPNhDW9pEh5bo&signature=hg7yTczCuAp4fwIWFySlSr_vq7o=&filename=streetview.png");
}
void draw() {
image(streetView,0);
}
有几个警告:
- 正如街景 API 文档中提到的,您需要get an API Key and Signature
-
loadImage()
需要一个扩展来知道如何解码数据,因此我在最后添加了&filename=streetview.png
(例如,可以是类似&ext=.png
的东西,只要它是一个有效的 URL 和以 Processing 的扩展名结尾)
如果您需要加载动态网页,您可以试试JavaFX。我对它没有经验,但希望您可以通过 FX2D
renderer in Processing
我个人觉得在 Java 中使用 WebAPI 有点麻烦/冗长。 根据您计划如何将街景集成到更大的应用程序中,您可以考虑直接在 JavaScript 中使用 Street View Service,并通过 p5.js 使用处理功能。如果您需要本机系统功能,您可以在 electron app
中加载 p5.js 前端版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。