[{"data":1,"prerenderedAt":508},["ShallowReactive",2],{"content:\u002F2024\u002Frun-java-applets":3,"surround:\u002F2024\u002Frun-java-applets":496},{"id":4,"title":5,"body":6,"categories":465,"date":467,"description":468,"draft":469,"extension":470,"image":471,"meta":472,"navigation":474,"path":475,"permalink":476,"published":476,"readingTime":477,"recommend":476,"references":482,"seo":486,"sitemap":487,"stem":488,"tags":489,"type":493,"updated":494,"__hash__":495},"content\u002Fposts\u002F2024\u002Frun-java-applets.md","配置并差点运行不了 Java Applet",{"type":7,"value":8,"toc":446},"minimark",[9,14,18,49,62,137,140,144,151,158,161,164,182,193,196,203,214,218,233,238,243,256,269,272,275,281,284,288,293,301,310,315,324,327,332,341,344,348,351,360,369,378,382,390,393,410,413,423,433,443],[10,11,13],"h2",{"id":12},"ppt勾起疑惑","PPT：勾起疑惑",[15,16,17],"p",{},"我向来不惮以最宽容的过时预期揣测大学教材和课件。包括但不限于——",[19,20,21,41],"ul",{},[22,23,24,25],"li",{},"2022 年秋《高级语言程序设计 (C)》\n",[19,26,27,30],{},[22,28,29],{},"使用1998年发布的微软 VC 6.0 开发环境",[22,31,32,33,40],{},"学校编写的教材使用了大量的非标准写法 ",[34,35,38],"code",{"className":36,"code":38,"language":39},[37],"language-c","void main()","c","，此写法在 2000 年代初逐渐废弃",[22,42,43,44],{},"2024 年春《面向对象与 C++ 程序设计》\n",[19,45,46],{},[22,47,48],{},"课程使用谭浩强的《C++ 程序设计（第4版）》",[19,50,51],{},[22,52,53,54],{},"2024 年秋《Java 语言程序设计》\n",[19,55,56,59],{},[22,57,58],{},"课件中讲述配置2004年发布的 Java 5 SDK 1.5.0 环境",[22,60,61],{},"课件介绍2000年代中期被逐渐取代的 Java Applet",[63,64,67,103],"tab",{":center":65,":tabs":66},"true","[\"Java 环境配置\",\"Java 程序分类\"]",[68,69,71],"template",{"v-slot:tab1":70},"",[72,73,74,77,80],"blockquote",{},[15,75,76],{},"3、Java开发环境",[15,78,79],{},"设置环境变量：",[19,81,82,89,100],{},[22,83,84,85,88],{},"PATH=",[34,86,87],{"code":87},"C:\\Program Files\\Java\\j2sdk1.5.0\\bin","（与JDK的安装目录有关）",[22,90,91,92,95,96,99],{},"CLASSPATH=",[34,93,94],{"code":94},"C:\\Program Files\\Java\\j2sdk1.5.0\\lib;.","（与JDK的安装目录有关，",[34,97,98],{"code":98},".","代表当前目录）",[22,101,102],{},"环境变量设置途径：Windows NT\u002F2000\u002FXP：控制面板→系统→高级→环境变量",[68,104,105],{"v-slot:tab2":70},[72,106,107,110,118,121],{},[15,108,109],{},"4、Java程序",[19,111,112,115],{},[22,113,114],{},"Java应用程序（Java Application）",[22,116,117],{},"Java小程序（Java Applet）",[15,119,120],{},"如何区分？",[19,122,123],{},[22,124,125,126,132,133,136],{},"前者有",[34,127,130],{"className":128,"code":130,"language":131},[129],"language-java","main()","java","方法，后者没有",[34,134,130],{"className":135,"code":130,"language":131},[129],"方法",[15,138,139],{},"听到别人讲述这些事情时，我只感到幸灾乐祸，但当这一切发生在自己身上时，我便无话可说、无言以对也无可奈何了。",[10,141,143],{"id":142},"第一次-java-上机实验","第一次 Java 上机实验",[15,145,146,147,150],{},"2024 年秋《Java 语言程序设计》的第一次上机实验，需要以代码块填空的方式完成 ",[34,148,149],{"code":149},"HelloWorld","、简单 Java Applet 和联合编译任务。",[15,152,153,154,157],{},"我的电脑中有微软的 OpenJDK 17 和 21，只需要在 VS Code 中安装 ",[34,155,156],{"code":156},"Language Support for Java(TM) by Red Hat"," 扩展即可满足简单的代码编写需求。",[15,159,160],{},"OpenJDK 17 默认使用 ANSI 编码（GB2312\u002FGBK\u002FGB18030），在我的 PATH 环境变量中，其优先级高于默认使用 UTF-8 编码的 OpenJDK 21。",[15,162,163],{},"为正常输出结果，有以下方法：",[19,165,166,169,172],{},[22,167,168],{},"将文件编码设置为 ANSI（GB2312\u002FGBK\u002FGB18030）",[22,170,171],{},"提升 PATH 环境变量中的 Java 21 的优先级",[22,173,174,175,181],{},"在编译时通过 ",[34,176,179],{"className":177,"code":179,"language":180},[178],"language-sh","javac -encoding UTF-8","sh"," 手动指定字符编码",[15,183,184,185,187,188,192],{},"说干就干，我很快完成了 ",[34,186,149],{"code":149}," 任务，但是我在 Java Applet 代码瞥见弃用提示，又在网上查到它需要",[189,190,191],"strong",{},"在 IE 内运行","，便瞬间不淡定了。",[15,194,195],{},"虽然我按照要求写好了代码，并使用一定手段启动了 IE，但并没有达到预期结果。",[15,197,198,199,202],{},"后来许多同学向老师反映，才",[189,200,201],{},"取消了 Java Applet 实验任务","。",[204,205,206,211],"quote",{},[68,207,208],{"v-slot:icon":70},[15,209,210],{},"🤔",[15,212,213],{},"竟然还要用 IE 浏览器？我倒要看看这环境到底有多难配！",[10,215,217],{"id":216},"大战-java-applet-环境","大战 Java Applet 环境",[219,220,223,226],"alert",{"title":221,"type":222},"禁止用于教学","error",[15,224,225],{},"Java Applet 在20世纪90年代兴起，2000年代中期被其他技术取代，自2017年 Java 9 发布后已不再支持。",[15,227,228,229,232],{},"严禁将本部分内容用于",[189,230,231],{},"课程教学","目的，学生应当学习现代计算机知识。",[234,235,237],"h3",{"id":236},"安装旧版-jdk","安装旧版 JDK",[239,240,242],"h4",{"id":241},"官网下载没成功","官网下载（没成功）",[15,244,245,246,202],{},"如果只是运行 Java Applet，可以下载 ",[247,248,252,253],"a",{"href":249,"rel":250},"https:\u002F\u002Fwww.java.com\u002Fzh-CN\u002Fdownload\u002F",[251],"nofollow","Java 8 运行环境 ",[34,254,255],{"code":255},"jre-8uxxx",[15,257,258,259,268],{},"从甲骨文官网的存档 ",[247,260,263,264,267],{"href":261,"rel":262},"https:\u002F\u002Fwww.oracle.com\u002Fcn\u002Fjava\u002Ftechnologies\u002Fjavase\u002Fjavase8-archive-downloads.html",[251],"下载 Java SE 8 (",[34,265,266],{"code":266},"JDK 8u211"," 之后的版本)"," 时，必须注册 Oracle 账号并提供多项个人信息（包括电子邮件地址、国家\u002F地区、姓名、英文姓名、职位、办公电话、公司名称、地址、城市、省\u002F自治区\u002F直辖市、邮政编码，均为必填项），以防止新的开发人员使用这种过时的 JDK 进行开发。",[239,270,271],{"id":271},"通过镜像站下载社区构建版",[15,273,274],{},"当然，你可以通过清华大学开源软件镜像站下载 Adoptium OpenJDK 8。安装、下载都十分方便。",[276,277],"link-card",{"icon":278,"link":279,"title":280},"https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Fstatic\u002Fimg\u002Ffavicon.png","https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002FAdoptium\u002F8\u002Fjdk\u002Fx64\u002Fwindows\u002F","Adoptium OpenJDK 8 - 清华大学开源软件镜像站",[15,282,283],{},"安装后，它会自动配置自身到系统 PATH 环境变量的最高优先级。",[234,285,287],{"id":286},"编译-java-applet","编译 Java Applet",[19,289,290],{},[22,291,292],{},"编写 Java Applet 代码",[294,295,299],"pre",{"className":296,"code":297,"filename":298,"language":131,"meta":70},[129],"import java.applet.*;\nimport java.awt.*;\n\npublic class FirstApplet extends Applet {\n    public void paint(Graphics g) {\n        g.setColor(Color.blue);\n        \u002F\u002F 【代码1】在 Java Applet 中绘制一行文字：“这是一个 Java Applet 程序”\n        g.drawString(\"这是一个 Java Applet 程序\", 50, 50);\n        g.setColor(Color.red);\n        g.setFont(new Font(\"宋体\", Font.BOLD, 36));\n        \u002F\u002F 【代码2】在 Java Applet 中绘制一行文字：“我改变了字体”\n        g.drawString(\"我改变了字体\", 50, 100);\n    }\n}\n","FirstApplet.java",[34,300,297],{"__ignoreMap":70},[19,302,303],{},[22,304,305,306,309],{},"确认编译环境为 Java 8（",[34,307,308],{"code":308},"1.8.0_xxx","）",[311,312],"copy",{"code":313,"prompt":314},"javac -version","PS>",[19,316,317],{},[22,318,319,320,323],{},"编译为 ",[34,321,322],{"code":322},".class"," 文件",[311,325],{"code":326,"prompt":314},"javac -encoding UTF-8 FirstApplet.java",[19,328,329],{},[22,330,331],{},"编写 HTML 代码",[294,333,339],{"className":334,"code":336,"filename":337,"language":338,"meta":70},[335],"language-html","\u003Capplet code=\"FirstApplet.class\" width=\"300\" height=\"300\">\u003C\u002Fapplet>\n","fitst-applet.html","html",[34,340,336],{"__ignoreMap":70},[234,342,343],{"id":343},"运行",[239,345,347],{"id":346},"通过-ie-运行没成功","通过 IE 运行（没成功）",[15,349,350],{},"可以把这个脚本放在用户目录下，方便从“运行”或终端启动 IE 浏览器。",[294,352,358],{"className":353,"code":355,"filename":356,"language":357,"meta":70},[354],"language-vb","CreateObject(\"InternetExplorer.Application\").Visible=true\n","openie.vbs","vb",[34,359,355],{"__ignoreMap":70},[15,361,362,363,368],{},"通过 IE 浏览器打开网页，提醒“您正在查看的页使用 Java”。根据 Java 官网的 ",[247,364,367],{"href":365,"rel":366},"https:\u002F\u002Fwww.java.com\u002Fzh-CN\u002Fdownload\u002Fhelp\u002Fie_tips.html",[251],"IE 支持","，出现此提示是因为未注册 Java 插件。",[15,370,371,372,377],{},"即使安装了 Oracle JRE 8，控制面板里出现了相关项，也无法在 IE 中查看 Applet；我也按照官网的 ",[247,373,376],{"href":374,"rel":375},"https:\u002F\u002Fwww.java.com\u002Fzh-CN\u002Fdownload\u002Fhelp\u002Fenable_browser.html",[251],"在浏览器中启用 Java"," 检查了本地设置，最后放弃了。",[239,379,381],{"id":380},"通过-applet-查看器","通过 Applet 查看器",[15,383,384,385,389],{},"正当我打算放弃的时候，我忽然发现了 Applet 查看器（",[34,386,388],{"className":387,"code":388,"language":180},[178],"appletviewer","）。上文提到的 Adoptium OpenJDK 8 带有这个工具。于是，很容易地：",[311,391],{"code":392,"prompt":314},"appletviewer fitst-applet.html",[72,394,395,401],{},[396,397,400],"tip",{"style":398,"tip":399},"color: #37f","当然，这里是前端和 MDC 语法的实现","这是一个 Java Applet程序",[15,402,403],{},[404,405,409],"span",{"className":406,"style":408},[407],"text-story","color: #f35; font-size: 2em; font-weight: bold","我改变了字体",[10,411,412],{"id":412},"写在最后",[204,414,415,420],{},[68,416,417],{"v-slot:icon":70},[15,418,419],{},"😡",[15,421,422],{},"谁真照着做我笑谁。成功了算你厉害。",[15,424,425,426,429,430,202],{},"开始写文章时，我看了一眼 PPT 的属性。文件创建于 ",[34,427,428],{"code":428},"2001-09-06 12:05","，“公司”为",[34,431,432],{"code":432},"北京大学计算机系",[15,434,435,436,439,440,202],{},"写完文章时，我看了一眼实验报告 Word 的属性。文件最后一次打印于 ",[34,437,438],{"code":438},"2006-10-31 23:40","，“标题”是 ",[34,441,442],{"code":442},"中 药 药 理 实 验 指 导",[15,444,445],{},"确实需要一剂猛药。",{"title":70,"searchDepth":447,"depth":447,"links":448},4,[449,451,452,464],{"id":12,"depth":450,"text":13},2,{"id":142,"depth":450,"text":143},{"id":216,"depth":450,"text":217,"children":453},[454,459,460],{"id":236,"depth":455,"text":237,"children":456},3,[457,458],{"id":241,"depth":447,"text":242},{"id":271,"depth":447,"text":271},{"id":286,"depth":455,"text":287},{"id":343,"depth":455,"text":343,"children":461},[462,463],{"id":346,"depth":447,"text":347},{"id":380,"depth":447,"text":381},{"id":412,"depth":450,"text":412},[466],"技术","2024-09-26 09:12:42","为了完成大学《Java 语言程序设计》课程的实验报告，尝试配置旧版 Java 环境并成功运行 Java Applet，最终认为实际应用价值有限。",false,"md","https:\u002F\u002Fassets.zhilu.cyou\u002Fcover4\u002Frun-java-applet.jpg",{"slots":473},{},true,"\u002F2024\u002Frun-java-applets",null,{"text":478,"minutes":479,"time":480,"words":481},"7 min read",6.45,387000,1290,[483],{"title":484,"link":485},"Java \u002F OpenJDK 国内镜像站指路 & 发行版简介","https:\u002F\u002Fmagma.ink\u002Fposts\u002Fjava\u002F",{"title":5,"description":468},{"loc":475},"posts\u002F2024\u002Frun-java-applets",[490,491,492],"Java Applet","兼容性","故障排查","tech","2024-09-27 00:34:28","HIdvRonS3n8LU-wzHv-azgGUiaJZF9sgE4tkc7NHZzM",[497,502],{"title":498,"path":499,"stem":500,"date":501,"type":493,"children":-1},"Windows 上的开源软件入门","\u002F2024\u002Fsfd-xupt","posts\u002F2024\u002Fsfd-xupt","2024-09-17 17:51:12",{"title":503,"path":504,"stem":505,"date":506,"type":507,"children":-1},"今日校园见闻：我已经出离高兴了","\u002F2024\u002Fobserve-at-school","posts\u002F2024\u002Fobserve-at-school","2024-10-09 22:32:05","story",1782091374908]