JavaAppletでJbuttonに表示する文字列の改行を実現した
サンプルページを参考にボタンを作成し、IE上で表示させたのですが
初期表示は問題なく動作するものの、表示したページを
再読込(リロード)すると、文字が消えてしまいます。
(再読込後の画面コピーを添付します)
リロード時にもボタンに表示された文字を表示させるためには
ブラウザの設定変更やコードの修正が必要なのでしょうか?
以下は、実行環境及びコードです。
環境
OS:WindowsXP
ブラウザ:IE7
JRE:1.6.0_26
※クラスファイル、HTMLファイルともにCドライブ直下に配置し実行。
ソース
○test.java
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JPanel;
public class test extends JApplet {
private static final long serialVersionUID = 1L;
JButton button;
public void init() {
setBackground(Color.WHITE);
setLayout(new BorderLayout());
button = new JButton("<html>改行<br />ボタン</html>");
button.setPreferredSize(new Dimension(120,80));
JPanel panel = new JPanel();
panel.setBackground(Color.WHITE);
panel.add(button);
add(panel, BorderLayout.CENTER);
}
}
○test.html
<html>
<head></head>
<body>
<applet code="test.class" WIDTH=120 HEIGHT=100>
</applet>
</body>
</html>
No.2ベストアンサー
- 回答日時:
少し調べてみましたが、
バグとしてフォーラムの方に報告されていますね。
HTMLパーサを利用するコンポネントで今回の現象が発生している様です。
現象の解消方法ですが、上記アプレットのソース(test.java)の
public void init() {
の直後に
new javax.swing.text.html.parser.ParserDelegator();
を挿入してください。
public void init() {
new javax.swing.text.html.parser.ParserDelegator();
の様にすればリロードしてもボタンの内容が表示される事を確認しました。
確認環境:XP, JDK1.6.0_24, JRE1.6.0_24, IE8
ただ、拾い読みした程度の措置なので、
場当たり的な対応になっていると思います。
根本解決では無いので、TODOを残しつつバグフィックスを待った方が良いでしょうね。
それまではこのおまじないと付き合っていく事になりそうです。
後、参考にした報告記事は参考URLに貼っておきます。
参考URL:http://bugs.sun.com/bugdatabase/view_bug.do?bug_ …
回答ありがとうございます。
JREのバージョン等も疑ってみましたが
バグDBの調査が甘かったようです。
載せていただいた
new javax.swing.text.html.parser.ParserDelegator();
をinit直後に追加し、コンパイルを行ったソースで
リロード後もボタン名が表示されることをこちら側でも確認できました。
本当にありがとうございました。
No.1
- 回答日時:
JApplet#init() 以外にも、
JApplet#destroy()、JApplet#start()、JApplet#stop()
も実装してみては?
JApplet#start()、JApplet#stop()辺りが、呼び出されているかもしらん。
確かにinit()しかソースにはないので
start()、stop()メソッドを追加し、コンポーネントの後処理(初期化)などを加えましたが
状態は改善しませんでした。
やはり、No.2で回答をいただいた内容の通り、JREのバグのようで
対処を行うと状態は改善されるようになりました。
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
handleText()で取得したテキス...
-
eclipseに記述したjavaファイル...
-
JTabbedPaneのタブが開かれてい...
-
Java swing RTFファイル 文字化...
-
c# インターフェイスの実装の確認
-
Java Applet での虫食い算での質問
-
Java での グローバルIP取得
-
VBAで配列の計算
-
パソコンキーボードで時分秒を...
-
プログラミングの問題です。大...
-
System.err. printlnとSystem.o...
-
Java配列でNullPointerExceptio...
-
VBA 配列で重複した単語が格納...
-
コンストラクタで配列を指定す...
-
世界測地から日本測地への変換...
-
For文と配列
-
JAVA コンソールではなくGUIで...
-
1~100までの数字を表示し、か...
-
論理演算子”||”またはの入力方法
-
エクセル:バグという名の仕様?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
eclipseに記述したjavaファイル...
-
importするには java.io.*; imp...
-
<forEach> 内で供給された "ite...
-
「例外 *** は対応する try 文...
-
java.util.Comparatorのcompare...
-
ColabでのPytorchのエラー
-
正規表現について
-
JAVAサーブレット。 HTML...
-
ActionForm form にnullが入っ...
-
Selenium IDEでexportしたコー...
-
ファイル名を動的に生成したい
-
【java】検索フォームの検索結...
-
setAttribute(String, int)は適...
-
シャットダウンフックが呼ばれない
-
do while文のエラー??
-
JPEG画像のみを印刷したいので...
-
サーバーAからサーバーBへPOST...
-
メニューバーのプログラム
-
アプレットを実行すると、×が表...
-
JOGLのインストール方法
おすすめ情報