javaのAWTでアプレット作成をしているのですがイベント処理部分をどう記述したらいいか解りません。
組み込みたいイベント処理は
1、アプレット起動時に「単語<tab>数字:数字,数字:数字,.......」という形のデータが入っているファイルを読み込んで数字列が一番多い単語(ただし二字熟語~四字熟語)を多い順に9つのボタンのラベルに格納していく。(どの位置のボタンのラベルに格納するかは自由)
2、ボタンを押すと1に書いているファイルを読み込みボタンのラベルに対応した数字列を見つけそれをテキストフィールドに全て出力させる。
ヒントだけでも宜しければ教えてください。お願いします。
/*<HTML>
<BODY>
<APPLET CODE="Tagcloud.class" WIDTH=400 HEIGHT=350>
</APPLET>
</BODY>
</HTML>*/
//java.appletパッケージをimport宣言
//java.awtパッケージもimport宣言
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Tagcloud extends Applet implements ActionListener{
//AWTのGUIコンポーネントクラスの作成
Button bu1 = new Button("");
Button bu2 = new Button("");
Button bu3 = new Button("");
Button bu4 = new Button("");
Button bu5 = new Button("");
Button bu6 = new Button("");
Button bu7 = new Button("");
Button bu8 = new Button("");
Button bu9 = new Button("");
TextField tf=new TextField(20);//テキストフィールド
public void init(){
setBackground(new Color(0,190,221));
//レイアウトを自由に変更
setLayout(null);
//アプレット領域にGUIコンポーネント(部品)の追加(載せる)
add(bu1);
add(bu2);
add(bu3);
add(bu4);
add(bu5);
add(bu6);
add(bu7);
add(bu8);
add(bu9);
add(tf);
//コンポーネントの配置
bu1.setBounds(50,50,80,20);
bu2.setBounds(150,50,80,20);
bu3.setBounds(250,50,80,20);
bu4.setBounds(50,120,80,20);
bu5.setBounds(150,120,80,20);
bu6.setBounds(250,120,80,20);
bu7.setBounds(50,190,80,20);
bu8.setBounds(150,190,80,20);
bu9.setBounds(250,190,80,20);
tf.setBounds(50,250,250,20);
//ボタンにActionListenerを登録します。
bu1.addActionListener(this);
bu2.addActionListener(this);
bu3.addActionListener(this);
bu4.addActionListener(this);
bu5.addActionListener(this);
bu6.addActionListener(this);
bu7.addActionListener(this);
bu8.addActionListener(this);
bu9.addActionListener(this);
tf.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
//ここにイベント処理をする部分を記述
}
}
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは。
補足ありがとうございました。
具体的に処理が書いてあるのでそれをそのままコーディングしてみてはいかがでしょうか。
どの部分が実際のところわからないのでしょうか。
先の質問どおりボタン選択時の処理がわからないのか、他の処理部分なのか。
まずはファイルを読み込んで、それぞれデータ解析した上でボタンのラベルセットまで実装してみてはいかがでしょう。
そうですね。もう少し考えを纏めて(特に2字熟語の抽出法など)実装してからまた質問する事にします。
お付き合い頂きありがとうございました。
No.2
- 回答日時:
こんにちは。
なんとなくやりたいことは読み取れるのですが完全な仕様がちょっとわかりません。
・数字列が一番多い単語(ただし二字熟語~四字熟語)
数字列が一番多いというのは【数字:数字】のセットの数が一番多い?
また、ただし二字熟語・・・のただしはどう考慮すれば良い?
・多い順に9つのボタンのラベルに格納していく。(どの位置のボタンのラベルに格納するかは自由)
多い順に自由に格納したら、別に多い順を取得する必要が無い気がする。
(読み込んだ順にラベルに振るのと変わらない?)
上の部分をもうちょっと具体的に教えてください。
やりたいことを一つずつ考えていきましょう。
・起動時のファイル読み込み
・読み込んだファイルの解析(tabで分割してラベル文字と数字列を分解、さらにカンマで分割して数字列の数を解析)
・ボタンラベルへ文字列をセット
・ボタンがクリックされたとき、テキストフィールドへ数字列をセット
(ここでもう一度ファイルを読み込む必要は無いと思いますがいかがでしょうか。(最初に読み込んでいるため))
この回答への補足
回答ありがとうございます。
すいません説明不足でした。
1、数字列が一番多い単語(ただし二字熟語~四字熟語)
数字列が一番多いというのは【数字:数字】のセットの数が一番多い?
はいおっしゃる通りです。
2、また、ただし二字熟語・・・のただしはどう考慮すれば良い?
すいません二次熟語~四字熟語だけを集めたデータをテキストファイルに出力していくプログラムが別に必要だと思っています。
読み込むファイルは転置索引(単語<tab>数字列<改行>単語<tab>数字列<改行>....の繰り返し)になっています。
単語部分には漢字以外に数字や記号(*など)が存在しますのでそのノイズを除去するためにまず
1、ファイルの中身をreadLineメソッドなどで一行ずつ読み込む
2、splitメソッドでタブを区切りに単語と数字列を分割する
3、単語が格納された配列が二字熟語~なら数字列と共にテキストファイルに出力(このテキストファイルをout.txtとする)
というプログラムを作成します。次にout.txtを読み込み数字列が多い二次熟語を順番にボタンのラベルに格納していくプログラムを作成しようと考えています。
3、多い順に9つのボタンのラベルに格納していく。(どの位置のボタンのラベルに格納するかは自由)
多い順に自由に格納したら、別に多い順を取得する必要が無い気がする。
(読み込んだ順にラベルに振るのと変わらない?)
読み込むファイルには膨大な量のデータが入っています。そのファイルの中で数字列(数字:数字のセットの数)が一番多い単語から順番に9つだけ選ぶのでボタンへの振り分け方はあまり気にしなくて良いと思っています。
No.1
- 回答日時:
ボタンを押したらラベルとかテキストフィールドに文字を表示する処理は書けますか?
書けないのであれば、書けるように基本を勉強しましょう。
その問題をやるには早すぎます。
この回答への補足
回答ありがとうございます。
例:bu1,bu2が押されたときテキストフィールドに数字列を出力する
public void actionPerformed(ActionEvent e){
if(e.getSource() == bu1){
tf.setText("13:1,83:1,84:2,101:1,171:1,184:1,185:1,195:1,280:2,288:3,479:1,524:1,532:1");
}
else if(e.getSource()==bu2){
tf.setText();
}
}
といった感じで宜しいでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 工学 制御工学に関する質問です。 離散時間システムの状態方程式は x(k+1)=Ax(k)+Bu(k) と 1 2023/01/16 12:18
- その他(パソコン・周辺機器) DELUX マウスドライバーソフト 1 2022/12/14 23:20
- その他(言語学・言語) 下記のウズベク語の自己紹介文章の発音をカタカナで教えてほしいです。 よろしくお願いします。 Salo 1 2023/07/16 13:37
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- 英語 「ブーイング」の語源は中国語ですか? 8 2022/03/31 10:41
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Visual Basic(VBA) excelにて、特定の列に数字入力してあれば、入力してある行コピーして 別ファイルに張り付ける 2 2022/08/11 05:33
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- テクノ・ハウス 質問の音楽ジャンルに詳しい方、よろしくお願いします。 2 2023/08/16 21:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TextAreaでの文字の色
-
java junit list同士の比較方法
-
ArrayListの使い方について(初...
-
JavaのswingでCardLayoutの画面...
-
javaで文字数制限するには?
-
JButton-背景の透明化
-
連番をオブジェクト名の最後に...
-
JFrameとJPanelの最大化について
-
Buttonを押すと画像が表示され...
-
JDialogを閉じた時の処理
-
TABキーの検出
-
JPanelの切り替えと再描画
-
JTableの列ヘッダ
-
質問 No.321331 「ノードの削除...
-
整数を好きなだけ入力し、個数...
-
Javaでお絵描きソフトを作りた...
-
EXECLの行を削除
-
あるコンボボックスを選択する...
-
Log4jで機能毎に別ファイルへ出...
-
flush()とclose()について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
java junit list同士の比較方法
-
javaで文字数制限するには?
-
JTableの列ヘッダ
-
TextAreaでの文字の色
-
最後の行に移動するには?
-
【Swing】JPanel クラス外から...
-
4択クイズでのランダム出題の...
-
コンパイルエラー <identifier...
-
JPanelの重ね方/OverlayLayout他
-
JPanelの切り替えと再描画
-
エラーで式の開始が不正ですと...
-
JTable の 列幅を個別に設定す...
-
VB6.0でのTextboxの高さ変更
-
ボタンクリック後パネルを再描...
-
ArrayListの使い方について(初...
-
JavaでのSwingを使った簡易電卓...
-
連番をオブジェクト名の最後に...
-
あるコンボボックスを選択する...
-
Buttonを押すと画像が表示され...
-
KeyListenerの使い方について
おすすめ情報