PersonalJavaでPDA(WinCE)用のプログラムを書いて遊ぼうかと考えています。
従ってJDK1.1.8を使うので、Swingは使えません。
VisualBasicではTextBoxをマウスでダブルクリックすることでイベント発生できるのですが、TextAreaには標準ではイベント発生機能が無いようです。
どうプログラミングすれば、TextAreaのダブルクリックイベントを発生させる、もしくは同等の機能を持たせることができるでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

TextArea中の文字列をダブルクリックしたとき、単語が選択されて反転表示になりませんか?


もしそれなら簡単で、TextArea#getSelectedTextで選択文字列を取得できます。
ただ、これは実行環境によって挙動が違うのかも知れません。
    • good
    • 0

TextAreaはComponentのサブクラスなので、addMouseListenerメソッドによってイベントリスナを設定できます。


イベントを受け取れば、MouseEvent#getClickCountによってクリック回数は分かります。

public void mouseClicked(MouseEvent me) {
if (me.getClickCount() == 2) {
System.out.println("Double clicked!");
}
}

こんな感じです。

この回答への補足

補足説明させて下さい。VBのTextBoxでは、ダブルクリックすると、そのクリック位置にある単語をText1.SelTextとして獲得できます。
実は、VBでのプログラムの移植を考えていて、JavaのTextAreaでも,このダブルクリックした位置の単語を獲得したいのです。

補足日時:2001/03/06 23:02
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qテキストエディタでエンドタグを自動で挿入するソフト

有料・無料のテキストエディタがありますが、
開始タグを打つと、エンドタグが自動的に挿入されるテキストエディタは、ありませんか?

また、HTMLプログラムを作成するのに、タイプミス発見やユーザー補助が豊富な
テキストエディタを教えてください。

Aベストアンサー

自動で挿入されるのではありませんが、「一発挿入」できるエディタ「GoHome」ではいかがでしょうか。おそらく終了タグの入れ忘れを防ぎたい目的と推測しますが、タグには終了タグ不要のものも多く、それを完全自動で行ってくれるものはなかなかないようです。
http://www.vector.co.jp/soft/win95/net/se157686.html

HTML編集に便利なエディタはいくつもありますが、フリーの「HeTeMuLu Writer (へてむるライタ~)」なんてのが多機能で使いやすそうです。
http://www.vector.co.jp/soft/win95/net/se110139.html

Qjarファイルをダブルクリックしても起動できません。ダブルクリックする

jarファイルをダブルクリックしても起動できません。ダブルクリックすると解凍してしまいます。解凍ソフトをjarは認識しないようにしても駄目でした。

Aベストアンサー

いつからできなくなったの?

Qgraphvizで使うテキストエディタについて

こんにちは。

graphvizの日本語入力をしたいのですが、メモ帳だとうまくいかないので、別のテキストエディタを使おうと考えているのですが、皆さんがこのテキストエディタならきちんと日本語入力できますよっていうテキストエディタは何でしょうか?。

できれば、確実にできるテキストエディタが知りたいので、ご経験のある方、教えていただけないでしょうか?。

非常に今、それがわからなくて困っていますので、どうぞよろしくお願いいたします。

以上です。

Aベストアンサー

WIndow 7とMacで確認してみました。
dottyの方はどちらも文字化けします。どうもdotty自体は日本語等に対応できていないようです。

Windows7のgveditでは、貼り付けた場合にはレイアウトで日本語を確認できました。
しかし、ファイルに保存したものを開いたり、ファイルに保存したいしたら文字化けしました。

> dot -Kneato -Tgif test.dot -o test.gif

これは、コマンドプロンプトから入力します。

準備; 環境変数PATHに、graphvizをインストールしたフォルダの下にあるbinディレクトリを追加する
あるいは、上記準備無しに、
"C:\Program Files\GraphvizXX\bin\dot" 等とフルパスで指定する。

dotは、.dotを各種画像フォーマットに変換するツールです。
この例では、test.gifにGIF形式で保存されます。

QJava-Swing TextAreaにスクロールバーが表示されない!

複数の参考書、ネット、大学の先生に聞いても解決できないのですが、テキストエリアにスクロールバーが表示されません。
以下が、ポイントと思われるソースの一部です。
import javax.swing.*;
import javax.swing.ScrollPaneConstants;
import javax.swing.JScrollPane;

public class MyClient extends JFrame implements MouseListener,MouseMotionListener,ActionListener {

private Container c;
JTextArea taMain;
JScrollPane scrollPane = new JScrollPane(taMain);

public MyClient() {

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500,500);
setVisible(true);
c = getContentPane();
c.setLayout(null);

taMain = new JTextArea(20,50);
taMain.setBounds(10,10,150,300);
c.add(taMain);
c.add(scrollPane);
taMain.setEditable(false);





こんな感じです。
間違っている個所が分かりません。
困り果てているので、分かる方がいらっしゃれば教えてください。

複数の参考書、ネット、大学の先生に聞いても解決できないのですが、テキストエリアにスクロールバーが表示されません。
以下が、ポイントと思われるソースの一部です。
import javax.swing.*;
import javax.swing.ScrollPaneConstants;
import javax.swing.JScrollPane;

public class MyClient extends JFrame implements MouseListener,MouseMotionListener,ActionListener {

private Container c;
JTextArea taMain;
JScrollPane scrollPane = new JScrollPane(taMain);

public MyClient() {

...続きを読む

Aベストアンサー

 こんばんは。

 いくつか原因があります。

>c.add(taMain);

1.これは余分です。
 コンテナに追加するのはJScrollPaneだけで十分です。
 現在はこれが見えているので、スクロールペインが見えていません。

>taMain.setBounds(10,10,150,300);

2.位置とサイズを指定するのはJScrollPaneのほうです。
 これだと、taMainのJScrollPaneの中の位置とサイズを決めていることになります。
 また、JScrollPaneのサイズを決めていないのが、サイズが0で見えなくなってしまっています。

 書くとしたらこうだと思います。

taMain = new JTextArea(20,50);
JScrollPane scrollPane = new JScrollPane(taMain);
scrollPane.setBounds(10,10,150,300);
c.add(scrollPane);

Qテキストエディタ設定 -サクラエディタ-

初めてプログラミングを始めます。
「作りながら学ぶRuby入門 著 久保秋 真」という本を参考にしてます。

この本で「演習場所を準備する」という項目で以下のように書いていました。

『テキストエディタで「C:\ruby_ex」ディレクトリに新しいファイルを「test01.rb」を作成して・・・』

上記のディレクトリに新しいファイルの作成の仕方を教えていただきたいです。
テキストエディタはサクラエディタです。

PC環境
OS:VISTA HOME PREMIUM SP2
Ruby:Ruby-1.9.1-p243
テキストエディタ:サクラエディタ Ver1.6.6.0(V 1310)

Aベストアンサー

どの辺でひっかかっていますか?

1. サクラエディタを開く
2. フロッピーアイコンをクリックして(名前を付けて保存)
3. ダイアログで目的のフォルダ"C:\ruby_ex"に移動
4. 名前test01.rbで保存

これだけです。

または、

1. エクスプローラで目的のフォルダ"C:\ruby_ex"を開く
2. 右クリック→テキストファイルを新規作成
3. 名前をtest01.rbに変更
4. test01.rbを右クリック→SAKURAで開く

これでもOK。

「SAKURAで開く」メニューが出ない場合は、そのままダブルクリックしてください。

「ファイルが開けません」

と言うエラーが出たら、下に表示されている「一覧からプログラムを選択する」を選び、サクラエディタを選択します。

ところで、質問自体は、特にRubyとは関係無いエディタの使い方の基本的な話ですので、他のカテゴリ(「その他(ソフトウェア)」とか)の方が回答がすぐに付くと思います。
(適切な回答が素早く欲しい場合、カテゴリ選びは、結構重要です)

Rubyそのものの質問であれば、もちろん、このカテで大丈夫ですよ。

どの辺でひっかかっていますか?

1. サクラエディタを開く
2. フロッピーアイコンをクリックして(名前を付けて保存)
3. ダイアログで目的のフォルダ"C:\ruby_ex"に移動
4. 名前test01.rbで保存

これだけです。

または、

1. エクスプローラで目的のフォルダ"C:\ruby_ex"を開く
2. 右クリック→テキストファイルを新規作成
3. 名前をtest01.rbに変更
4. test01.rbを右クリック→SAKURAで開く

これでもOK。

「SAKURAで開く」メニューが出ない場合は、そのままダブルクリックしてください。

「ファイルが開け...続きを読む

QJDK1.1.7 と JDK1.3.1 の違い。。。

はじめて質問いたします。
現在、JDK1.1.7 で開発したアプレットがあるのですが、
この中で、java.awt.Choice を未選択状態にする為に select(-1); 
としている個所があります。
このアプレットをJavaPlug-in1.3.1 を使用して実行すると、IllegalArgumentException
が発生してしまいます。

そこで、1.1.7 と 1.3.1 のソースコードを比べてみると、確かに、1.3.1 では、
select(-1) は認めていないようです。

--- JDK1.1.7 の java.awt.Choice の実装 --->

public void select(int pos) {
  if (pos >= pItems.size()) {
    throw new IllegalArgumentException("illegal Choice item position: " + pos);
  }
    :
    :
}
<--- JDK1.1.7 ---

--- JDK1.3.1 の java.awt.Choice の実装 --->

public synchronized void select(int pos) {
  if ((pos >= pItems.size()) || (pos < 0)) {     <--- 違いはここだけ。。。
    throw new IllegalArgumentException("illegal Choice item position: " + pos);
  }
    :
    :
}
<--- JDK1.3.1 ---

う~ん、まさしく、-1 を拒否していますね。

何故、このような実装の違いが出ているのでしょうか?
(私的には、Java2開発者の気まぐれなのではと考えてしまいます。。)

また、このアプレットを最小限の修正で1.3.1 でも正常に動作するようにしたいの
ですが、1.3.1 の java.awt.Choice では未選択状態にする事は不可能なのでしょうか?

ご存知の方がおられましたら、是非、お教え頂きたいと思います。
よろしくお願い致します。

はじめて質問いたします。
現在、JDK1.1.7 で開発したアプレットがあるのですが、
この中で、java.awt.Choice を未選択状態にする為に select(-1); 
としている個所があります。
このアプレットをJavaPlug-in1.3.1 を使用して実行すると、IllegalArgumentException
が発生してしまいます。

そこで、1.1.7 と 1.3.1 のソースコードを比べてみると、確かに、1.3.1 では、
select(-1) は認めていないようです。

--- JDK1.1.7 の java.awt.Choice の実装 --->

public void select(int pos) {
  if...続きを読む

Aベストアンサー

バージョン1.1.xのAPI仕様を見ても、select(-1)で未選択状態に出来るとは書いてないんですよね…… だから1.1.7のselect(-1)で未選択状態に出来たのは、たまたまそうなっていたからとしか言いようがありませんね。

API仕様では、バージョン1.1でも1.3でも例外キャストの条件が「指定された位置が無効な場合」となっていて、具体的な数字が出てこないのでかなりあいまいな表現ですが、それでも引数に-1を渡したら普通は例外になると考えるのが自然です。

いずれにせよ、バージョン1.3のAPI仕様を見る限り、未選択状態に関することは載っていないので、あとから未選択状態になるように仕向けるのはあきらめたほうが良いと思われます。ほかに上のような裏技があったとしても、将来の実装が変更されないとは言い切れません。

提案: 未選択状態にする代わりに、空白の選択項目、あるいはウェブページに良くある「選択してください!」といったような“無効な項目”を作ってはどうでしょう。未選択状態にする目的がかかれてないので、なんともいえませんが。

Qテキストエディタの文字サイズ変更

テキストエディタの文字サイズ変更
テキストエディタでワープロソフトみたいに特定の文字だけ
文字サイズを変更したり色を変えたりしたいのですが
(例えば見出しだけ文字サイズを変えるなど)
それが出来るエディタはありますか。(ワードパット以外で)
フリー、シェアウェアどちらでもいいです。

Aベストアンサー

テキストエディタは純粋に文字を入力するだけのがほとんどです。

文字装飾できるのはWindowsのワードパットやMacのTextEditのようなリッチテキストエディタ、(簡易)ワープロです。


iText
http://homepage.mac.com/lightway/iText.html
一応テキストエディタとなっているけど、どうみても簡易ワープロの色の方が強い。

参考URL:http://homepage.mac.com/lightway/iText.html

Qボタンのイベントで異なるウィンドウを表示させたい。(swing)

javaを勉強中の者です。

現在swingを使って勉強しているのですが、あるウィンドウのボタンをクリックすると違うウィンドウが新たに出現する、という処理を実装したいのですが、うまくいきません。これでいくはずだと思うんだけどなぁ・・というところで止まっています。

一応、そのあたりの処理は下記のような感じでプログラムを組んでいます。

public class MainWindow extends JFrame{
public void main(String[] args){
//このウィンドウを表示させる処理
}

public MainWindow(String title){
   //メニューバー、ツールバーとか・・
//イベントを実装したいボタン
         JButton item1;
item1 = new JButton("kaku", new ImageIcon("open.gif"));
item1.addMouseListener(new MouseAdapter(){
public void mouseClicker(MouseEvent arg0){
showSendMailWindow();
}
});
toolbar.add(item1);
}

private void showSendMailWindow(){
SendMailWindow form = new SendMailWindow("新規記事");
form.show();
}
}

SendMailWindowというのが表示させたいウィンドウのクラスで、普通のウィンドウを表示させるのと同じ感じで書いています。

これらの情報で、原因の検討がつきますでしょうか?

よろしくお願いします。

javaを勉強中の者です。

現在swingを使って勉強しているのですが、あるウィンドウのボタンをクリックすると違うウィンドウが新たに出現する、という処理を実装したいのですが、うまくいきません。これでいくはずだと思うんだけどなぁ・・というところで止まっています。

一応、そのあたりの処理は下記のような感じでプログラムを組んでいます。

public class MainWindow extends JFrame{
public void main(String[] args){
//このウィンドウを表示させる処理
}

public M...続きを読む

Aベストアンサー

new MouseAdapterしている無名クラス内のメソッド。
mouseClickerではなく、mouseClickedですね?

Qテキストエディタで読み取り専用に保存したい

お世話になります。
テキストエディタで読み取り専用に保存するにはどうすれば良いのでしょうか?
使用しているテキストエディタは「Tera Pad」です。
不可能なら他に保存できるエディタを教えてください。
保存形式はxmlです。
宜しくお願いします。

Aベストアンサー

読み取り専用は呼んで字のごとく読み取り専用です。
保存はできません。
どんなテキストエディタを使っても一緒です。
なんせ読み取り専用ですから。

ファイル名を変えて保存すれば保存出来るはずです。
どうしても上書き保存したいのであれば、ファイルを右クリックして、プロパティを出して、その中にある読み取り専用のチェックを外してください。

QSwingで作ったGUIで、ダブルクリックすると起動する方法

普通、Swingで作ったGUIでは、コマンドプロンプトから起動しますが、VBなどで作ったGUIみたいにダブルクリックして起動するにはどうすればよろしいですか?

Aベストアンサー

下記の頁は参考になると思います。

参考URL:http://wiredstyle.net/documents/launch_java_app/


人気Q&Aランキング

おすすめ情報