HTML起動時の動作不正

このQ&Aのポイント
  • HTMLから起動時に動作が正しくない問題が発生しています。
  • DOSプロンプトからの実行では問題ありませんが、HTMLから実行するとグレーの画面になります。
  • IEの設定を調べて変更しましたが、問題は解決していません。
回答を見る
  • ベストアンサー

HTMLから起動時、動作不正?

お世話になります。 JAVA初心者です。 --- JAVA --- import java.awt.Frame; import java.awt.Label; public class sampleframe extends Frame { private Label label = null; public sampleframe() { super(); initialize(); } public void initialize() { label = new Label(); label.setBounds(24, 106, 116, 13); label.setText("aaaaaaaaaa"); label.setAlignment(java.awt.Label.CENTER); this.add(label, null); this.setLayout(null); this.setSize(500,300); this.setTitle("Frame"); } } public class MainPart { public static void main(String[] args) { sampleframe x = new sampleframe(); x.setVisible(true); } } --- HTML --- <html> <head> <title>java</title> </head> <body> <applet code="MainPart.class">></applet> </body> </html> なのですが、DOSプロンプトから 実行するとOKなのですが HTMLから実行すると グレーの画面だけになります。 エラーはでてません。 ローカル、サーバーともに 同じです。 どこがまずいのでしょうか? 宜しくお願いいたします。 PS. IEの設定は調べて変更した つもりです。

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

/* コマンドプロンプトでそのままコンパイルしようとしてもできなかったよ、ファイルを分けたならきちんとその旨を書こう! */ /* sampleframe.java */ import java.awt.Frame; import java.awt.Label; public class sampleframe extends Frame { private Label label = null; public sampleframe() { super(); initialize(); } public void initialize() { label = new Label(); label.setBounds(24, 106, 116, 13); label.setText("aaaaaaaaaa"); label.setAlignment(java.awt.Label.CENTER); this.add(label, null); this.setLayout(null); this.setSize(500,300); this.setTitle("Frame"); } } /* MainPart.java */ import java.applet.Applet; /* AppletとしてHTMLから呼び出すときはAppletを継承し init関数に初期化処理を書くらしい */ public class MainPart extends Applet{ private sampleframe x; /* 何となくメンバ変数に*/ public void init() { x = new sampleframe(); x.setVisible(true); } } /* ==================== */ この状態でjavac MainPart.javaでMainPart.classとsampleframe.classを作っておく。 ========hoge.html=======なお、htmlにこの行を含まないこと。======= <?xml version="1.0" encoding="Shift_JIS" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <title>SimpleApplet</title> <meta http-equiv="Content-type" content="text/html; charset=Shift_JIS" /> </head> <body> <h1>SimpleApplet</h1> <p><applet code="MainPart.class" width="500" height="500"> アプレットが実行できない場合の代替内容。 </applet></p> </body> </html>

sendaitaro
質問者

お礼

ソースの件、失礼しました。 書いていただいたのを全て コピーして、実行したのですが やはり、現象は改善されませんでした。 labelに「aaaaaaa」が表示されません。 現在の環境がXPPRO(SP2) なので、2000でリトライ してみます。 有難うございました。

関連するQ&A

  • HTMLファイルを開きたい

    こんにちは、いつもお世話になっています。 質問があります。 アプレットでボタンを押すと、 HTMLファイル「c:/test_folder/test.html」 を開きたいのですが、 下記コードの(☆) のところに何を書いていいかわかりません。 どなたかご存知でしたら教えていただけないでしょうか? よろしくお願いします。 ============================================================= import javax.swing.*; import java.awt.*; import java.applet.Applet; import java.awt.event.*; import java.net.*; public class situmon extends Applet implements ActionListener { JPanel panel; JButton button; public void init() { panel=new JPanel(); button=new JButton("次へ"); button.addActionListener(this); panel.add(button); this.add(panel); } public void actionPerformed(ActionEvent e) { if(e.getSource()==button) { (☆); } } }

    • ベストアンサー
    • Java
  • 動作しないプログラム

    このようなプログラムです。 /*<applet code = "Lesson14.class" width = 300 height =200></applet>*/ import java.awt.*; import java.awt.event.*; import java.applet.Applet; public class Lesson14 extends Applet{ Button myBtn; Label mylbl; public void init(){ setBackground(Color.pink); setLayout(new BorderLayout()); myBtn = new Button("Clickしてね"); mylbl = new Label("",Label.CENTER); add("North",myBtn); add("Center",mylbl); myBtn.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ repaint(); } }); } public void paint(Graphics g){ mylbl.setText("clickしたな!"); } } ---------------------------------------- はじめにmylblに””と何も入れておかずに、 後からsetTextで、文字をいれ、クリックされたときにrepaint()にて、表示される、という単純なものです。 しかし動作しないのです。 書籍を見ながらやったほうも、CDーROM殻読み出したものもだめでした。 僕の動作環境は1.4.1_03でXPと2000です。 その書籍は少し古くて1.3.0と書いてあります。 バージョンアップによってうまく動作しないのでしょうか・・・??

    • ベストアンサー
    • Java
  • java作成時のエラー

    javaの勉強を始めたばかりの初心者です。 教えていただけると嬉しいです。 前回の質問の内容が説明不足でしたので出し直しました。 よろしくお願いします。 (1)class Test で問題なくコンパイル出来たのですが、 その後HTMLファイルを開いても、アプレットは表示されず真っ黒な画面が出るだけでした。 何が原因なのでしょうか。宜しくお願い致します。 ------------------ import java.awt.*; import java.awt.event.*; public class Test extends Frame { public Test() { super(); setTitle("Hello"); setSize(200,100); setLayout(null); Button mybutton = new Button("OK"); mybutton.setBounds(100,100,100,25); this.add(mybutton); mybutton.addActionListener(new ClickAction()); } public static void main (String args []) { new Test(); } } class ClickAction implements ActionListener { public void actionPerformed(ActionEvent ev){ System.exit(0); } } -------------- <HTML> <BODY> <APPLET WIDTH="500" HEIGHT="500" CODE="Test.class"> </APPLET> </BODY> </HTML> -------------- (2)IntegerTextField1のコンパイルは成功したのですが、その後Anwendung1のコンパイル時に、 下記エラーが出てしまいます。どちらも同じフォルダに入っています。 何が原因なのでしょうか。。どうぞ宜しくお願い致します。 C:\java\a>javac Anwendung1.java Anwendung1.java:32: cannot find symbol symbol : class IntegerTextField1 location: class Anwendung1 IntegerTextField1 tf1 = new IntegerTextField1 (); ^ Anwendung1.java:32: cannot find symbol symbol : class IntegerTextField1 location: class Anwendung1 IntegerTextField1 tf1 = new IntegerTextField1 (); ^ 2 errors --------------- import java.io.*; import java.awt.*; import java.awt.event.*; class IntegerTextField1 extends TextField implements Serializable { public IntegerTextField1 () {

  • フレームの×ボタンを押しても閉じることが出来ない

    JAVAアプレットでプログラムを作成していまして、FileInputStreamで 取り込んだデータをフレームに表示させたんですが、表示させたフレーム のボタン(ウィンドウ右上の×ボタンなど)何を押しても終了できないんです。 それで色んな所で探していて、フレームを閉じる処理が見つかったので、 それを追加してみましたが、それもだめです。 これはどのようにすればよろしいのでしょうか? 下記にソースを記述しておきますので、悪い点がございましたら教えてください。 import java.applet.Applet; import java.awt.*; import java.awt.event.*; import java.io.*; import java.lang.*; class frame extends Frame implements WindowListener { Color bgcolor; Font font; Label lab_1,lab_2; frame() { super("title"); setLayout(null); bgcolor = new Color(240,248,255); setBackground(bgcolor); setForeground(Color.black); addWindowListener(this); font = new Font("Serif",Font.PLAIN,13); /* Labelを作成 */ lab_1 = new Label(); lab_2 = new Label(); lab_1.setFont(font); lab_1.setText("TEST1"); lab_1.setBounds(20,20,60,30); add (lab_1); lab_2.setFont(font); lab_2.setText("TEST2"); lab_2.setBounds(80,20,60,30); add (lab_2); } protected void processWindowEvent(WindowEvent endEvent) { System.exit(0); } }

    • ベストアンサー
    • Java
  • java アプレット

    学校の授業でアプレットを学んでいます。 しかし・・・ 下のプログラムで、計算した結果をlabel3にはりつけたいのですが、計算結果がでてくれません・・・ボタンを押しても何もでてきません。 コマンドプロンプトで、エラーはでてきません。 お手数ですが、誰かどこがいけないのか教えて下さい。 import java.awt.*; import java.awt.event.*; public class B extends java.applet.Applet implements ActionListener { Label label3 = new Label(); Button button2 = new Button(); TextField textfield1= new TextField(10); TextField textfield2= new TextField(10); public void init() { button2.setLabel("入力したらクリック!"); button2.setBounds(new Rectangle(50, 465, 120, 20)); this.setLayout(null); label3.setBackground(Color.blue); label3.setBounds(new Rectangle(325, 80, 200, 35)); textfield1.setBounds(100, 425, 100, 25); textfield2.setBounds(150, 350, 100, 25); this.add(textfield2, null); this.add(label3, null); this.add(textfield1, null); this.add(button2, null);} public void actionPerformed(ActionEvent event) {if(event.getSource() == button2) {int diff = Integer.parseInt(textfield1.getText()) - Integer.parseInt(textfield2.getText()); String otsuri; otsuri ="お釣りは"+ diff +"円です。"; label3.setText(otsuri);} }} よろしくお願いします。

    • ベストアンサー
    • Java
  • Javaプログラムの繋げ方について。

    Javaプログラムの繋げ方について。 今まで(1)のようなプログラムを書いていました。 作りたいものに向けて色々検索するとやりたいものに近い(2)のようなサンプルプログラムを見つけました。 しかし、Java初心者なもので混ぜ方(?)がわかりません。 現在の私の知識からいうと今までのはアプレットでフレーム使うのはアプリケーションなのかな?別物なのかな?そんな感じです。 もし、混ぜることができるなら何かアドバイスをお願いします。 (1)package test; import java.applet.* ; import java.awt.Label ; import java.awt.Font ; import static java.awt.Font.BOLD ; import java.util.*; import java.awt.Graphics; import java.awt.Image; import java.awt.*; public class test extends Applet{ public void paint(Graphics g){ g.setColor(Color.red); g.fillOval(320, 200, 100, 100); } public void init () { ~~~~~~~~~~~~~~~~ } public void start () { ------------ }}} (2)import java.awt.*; import java.awt.event.*; public class MouseEvent7 extends Frame { int posX = 50; int posY = 50; public static void main(String [] args){ new MouseEvent7(); } //コンストラクタ MouseEvent7(){ this.addWindowListener(new WinAdapter()); //ウィンドウリスナーの登録 this.setSize(200,200); this.setVisible(true); //MouseMotionListenerの登録 addMouseMotionListener( new MouseMotionAdapter(){ public void mouseMoved(MouseEvent e){ posX = e.getX(); posY = e.getY(); repaint(); //paintメソッドを実行 } } ); } public void paint(Graphics g){ g.drawOval(posX,posY,50,50); } } (1)の内容に本当に(2)のプログラムで出来るマウスの動きに合わせて円も動く+クリックしたらそこで止まるだけいいのですが。 出来たら止まった点の座標も取りたいですが、そこまではいってません;;

  • java.awt.Label を縁取り表示したい

    Javaバージョンは、JDK-1.2.2_017 です。 (このバージョンじゃないと駄目なんです) ラベルの表示をするのにjava.awt.Labelを使用しているのですが、 ・Labelの縁取り(枠のようなもの) ・ボタンのように浮き上がらせる というようなことが、Labelクラスで可能でしょうか。 ラベルの見た目を変えたいので、どなたかご存知のかたいらっしゃいましたら 教えてください。お願いします。 import java.applet.Applet; import java.awt.*; public class label1 extends Applet { public void init(){ Label Lab = (Label)add(new Label("Label1" , Label.CENTER)); Lab.setText("test"); setBackground(Color.blue); add(Lab); } }

  • return;

    retrun;を取ると動作がおかしくなるんですが return;にはどういう働きがあるんでしょうか? お願いします。 import java.applet.Applet; import java.awt.*; import java.awt.event.*; //<applet code = "a.class" width = "300" height = "300"></applet> public class a extends Applet implements ActionListener{ Dialog d; Frame f; public void init() { setLayout( new GridLayout( 1, 1 ) ); Button b = ( Button )add( new Button( "frame" ) ); b.addActionListener( this ); } public void actionPerformed( ActionEvent e ){ if( e.getActionCommand() == "frame" ){ if ( f == null ){ f = new Frame( "Kitty on your lap" ); Button fb = (Button)f.add( new Button( "Kitty " ) ); fb.addActionListener( this ); f.setSize( 200 , 200 ); f.setVisible( true ); }else if( d == null ){ f.dispose(); f = null; } return; } if( e.getActionCommand() == "OK" ) { d.dispose(); d = null; return; } d = new Dialog( f, "Kitty", true ); d.setLayout( new GridLayout( 2, 1 ) ); d.setResizable( false ); d.add( new Label( "Kitty on your lap" ) ); Button b = (Button)d.add( new Button( "OK" ) ); b.addActionListener( this ); d.setSize( 400 , 200 ); d.setVisible( true ); } }

    • ベストアンサー
    • Java
  • アプレットのプログラムがコンパイルできません。

    import java.applet.Applet; import java.awt.*; public class Lesson1Applet extends Applet { public void init(){ this.add(new Lesson1("")); this.setLayout(null); this.resize(600,450); } } 上記のプログラムがコンパイルできません。 本の通りに作ってみたのですが、コンパイルが出来ず Servlet1118Applet.java:7: シンボルを解決できません。 シンボル: クラス Lesson1 場所 : Lesson1Applet の クラス this.add(new Lesson1("")); ^ という、エラーが出ます。 なぜコンパイル出来ないのか、わかる方がいましたら お返事お願いいたします。

    • ベストアンサー
    • Java
  • JAVAのアプレットの文の改行方法。

    JAVAのアプレットにてstringにて変数を宣言し、そこに文字列を代入します。 その後initメソッド内でその変数を呼び出したら、代入した文字列が出ます。 文字列を改行を行いたいのですが、文字列に\nをはさんでも改行されません。 改行するにはどのようにしたら良いでしょうか。 具体的にはこのような感じです。 [javaファイル] import java.applet.*; import java.awt.*; public class mozi extends Applet{ private Label AA; private String moziretsu = "こんにちは\nこんばんは"; public void init(){ add(AA = new Label(moziretsu)); } } [htmlファイル] <html> <head><title>mozi</title></head> <body> <applet code="mozi" codebase="." width="700" height="240"> </applet> </body> </html>

    • ベストアンサー
    • Java

専門家に質問してみよう