[問題] applet執行結果和在eclipse中執行不一樣

看板java作者 (keeperkai)時間14年前 (2010/10/20 20:09), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
想要請問一下板上的高手 小弟最近在想applet到底能不能改變螢幕解析度,然後做出像 CS那樣全螢幕的遊戲,如果是在eclipse執行利用GraphicsEnvironment....etc可以很容 易做到,但是如果要放入網頁呢? 所以小弟寫了以下: import java.awt.Color; import java.awt.DisplayMode; import java.awt.Graphics; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import java.awt.Window; import javax.swing.JApplet; import javax.swing.JFrame; public class myapp extends JApplet{ private GraphicsDevice vc;private GraphicsEnvironment env; private DisplayMode dm;String s=""; public void init(){ dm=new DisplayMode(800,600,16,0); env=GraphicsEnvironment.getLocalGraphicsEnvironment(); vc=env.getDefaultScreenDevice(); setFullScreen(dm); long st=System.currentTimeMillis(); while (st+5000>System.currentTimeMillis()){ Window w=vc.getFullScreenWindow(); Graphics g=w.getGraphics(); g.setColor(Color.BLUE); g.fillRect(0, 0, 800, 600); g.setColor(Color.red); g.fillOval(30, 30, 300, 300); g.setColor(Color.black); g.drawString(s, 500, 300); g.dispose(); } Window w=vc.getFullScreenWindow(); w.dispose(); vc.setFullScreenWindow(null); } public void setFullScreen(DisplayMode dm){ JFrame f=new JFrame(); f.setUndecorated(true); f.setResizable(false); f.setIgnoreRepaint(true); vc.setFullScreenWindow(f); if (vc.isDisplayChangeSupported()){ try{ vc.setDisplayMode(dm); s="is ok"; }catch(Exception ex){s="not ok";} }else{s="no support";} } } 來做實驗,結果很奇怪,在eclipse內執行可以順利得到全螢幕並畫上該畫的東西(當然 沒用bufferstrategy,因為只是要做實驗),並且順利設定displaymode(drawstring顯示 is ok,但當我自己真的在html中嵌入此applet時,開了該html,就不能改變displaymode (drawstring顯示是no support),而且不但解析度不變,也沒進入真正的fullscreen,因 為下面"開始"那排控制列不會消失。 難道是放在網頁中部份的操作就不能執行嗎? 所以這麼說來不能在網頁中嵌入applet製作 全螢幕的mouselook遊戲? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 121.254.118.167

10/21 18:25, , 1F
為什麼client要給網頁或網頁應用程式這樣的權限?
10/21 18:25, 1F
文章代碼(AID): #1CljmAAY (java)