• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MouseWheelEventが拾えない)

MouseWheelEventが拾えない

uootの回答

  • ベストアンサー
  • uoot
  • ベストアンサー率75% (6/8)
回答No.1

Java についてはぜんぜん判らないのですが... SPI++ が使えるなら、ウィンドウのメッセージログを表示させて正しくメッセージが送信されているか確認してみるのが良いかもしれません。 考えられる原因として、マウスドライバの設定でホイール操作のときの動作をいろいろ変更できるとすれば、ホイールメッセージが別のメッセージとして送られているかも知れません。

takaP-
質問者

お礼

ありがとうございます。 まさにマウスドライバの問題だったようです。 標準のマウスドライバと切り替えたら問題無くスクロールができました。 それにしても、ユーザ側にマウスドライバの変更を強要するわけにもいかないし、、、Javaでのスクロールは問題ありですね、参った(笑

関連するQ&A

  • 最後の行に移動するには?

    JTextArea textArea = new JTextArea(); JScrollPane sp = new JScrollPane(textArea); とりあえずスクロールできるのですが、textArea.append()で追加しても、いちいち手動で下の行まで移動します。追加したら自動で一番下を表示させるにはどうしたらいいですか?

    • ベストアンサー
    • Java
  • テキストフィールドの文字をテキストエリアに表示する

    エラーも例外もないです。 但し今回の内容の"テキストフィールドに打ち込みエンターキーを文字をテキストフィールドに表示" が満たしてないですとりあえずソース乗せます mport java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; public class MyMemo { public static void main(String[] args) { JFrame Frame = new JFrame("課題"); Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Frame.setSize(500, 500); Frame.setLocationRelativeTo(null); Container contentPane = Frame.getContentPane(); // テキストフィールドのインスタンスを生成 final JTextField text = new JTextField();// テキストエリアのインスタンスを生成 text.addActionListener(new MyActionListener()); Frame.setVisible(true); final JTextArea Area = new JTextArea(5,0); // スクロールペインにテキストエリアを追加 JScrollPane scrollPane = new JScrollPane(Area); // パネルをコンポーネントに配置 contentPane.add(text, BorderLayout.NORTH); contentPane.add(scrollPane, BorderLayout.CENTER); Frame.setVisible(true); } static class MyActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { } } } どう文字をテキストエリアに表示したらいいのかわからなくて質問させていただきました。 よろしくお願いします。

    • ベストアンサー
    • Java
  • JTextAreaを持ったJInternalFrameを作りたい

    swingでメモ帳を作っているのですが、 新規作成が押されるごとに新しい JTextAreaを持ったJInternalFrameを作りたいのです。 他にもコピーやJpopupメニューなども機能として 追加しているのですがそれらの機能も新しく作った JInternalFrameで機能するようにしたいんです。 参考になるサイトなど見たりしたんですが 自力では無理でした。。どなたかお願いします☆ public class NotePad extends JFrame{ JDesktopPane desktop = new JDesktopPane(); static JTextArea editArea = new JTextArea(); static NotePad frame = new NotePad(); public static void main(String[] args){ frame.setTitle("メモ帳"); frame.setSize(500,400); frame.setVisible(true); frame.setDefaultCloseOperation(EXIT_ON_CLOSE); } public NotePad(){ JScrollPane sp = new JScrollPane(editArea, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); NewAction newAction = new NewAction(); JMenuBar mb = new JMenuBar(); JMenu mn1 = new JMenu("ファイル"); mn1.add(newAction); mb.add(mn1); setJMenuBar(mb); getContentPane().add(sp, BorderLayout.CENTER); } class NewAction extends AbstractAction{ NewAction(){ putValue(NAME, "新規ファイル作成"); public void actionPerformed(ActionEvent e){ JInternalFrame inframe = new JInternalFrame( true, true, true, true); JTextArea ta = new JTextArea(""); JScrollPane sp2 = new JScrollPane(ta, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); inframe.getContentPane().add(spane) desktop.add(inframe); inframe.setVisible(true); }

    • ベストアンサー
    • Java
  • Java-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); ・ ・ ・ ・ こんな感じです。 間違っている個所が分かりません。 困り果てているので、分かる方がいらっしゃれば教えてください。

    • ベストアンサー
    • Java
  • JTable で複数行の編集

    JTable で複数行の編集ができるようにしたいと思っています。 JTextArea を使う独自の CellEditor を作ることで、できました。 ただ、編集を開始するのにマウスでダブルクリックする必要があります。 セルにフォーカスがある状態で、キーボード入力で編集を開始できないでしょうか? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ JTextField を使った DefaultCellEditor はできます。 自作の JTextArea を使う CellEditor でもできました。 しかし、JScrollPane を付けるとできなくなります。 解決策をご存知の方がいらっしゃいましたら、よろしくお願いします。 public class TextAreaCellEditor extends AbstractCellEditor implements TableCellEditor { private JTextArea textArea = new JTextArea(); private JScrollPane scroll = new JScrollPane(textArea); public TextAreaCellEditor() { scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER); } public Object getCellEditorValue() { return textArea.getText(); } public boolean isCellEditable(EventObject anEvent) { if (anEvent instanceof MouseEvent) { return ((MouseEvent) anEvent).getClickCount() >= 2; } return true; } public boolean shouldSelectCell(EventObject anEvent) { return true; } public boolean stopCellEditing() { fireEditingStopped(); return true; } public void cancelCellEditing() { fireEditingCanceled(); } public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { textArea.setText((value != null) ? value.toString() : ""); return scroll; // JScrollPane を付けなければ可能 // return textArea; } }

    • ベストアンサー
    • Java
  • setLineWrapの使い方

    初めまして、皆さん。馬鹿な初心者の悩みを聞いてください。 卒論に向けて、現在、JAVAでアプレットプログラムを書いているのですが、 TextAreaを自動改行させようとコンパイルをかけると、 以下のようなエラーがでてしまうのです。 Java初心者なので、非常に困っています。 どうか教えてくださいよろしくお願いいたします。 なお、実行環境は WindowsXP Home Edition JDK1.3.1_010 です。 --------------------ソース-------------------- /* TextArea改行用テスト */ import java.awt.*; import java.awt.event.*; import java.applet.*; import javax.swing.*; public class JTextArea extends JApplet{  public void init() {   JTextArea text = new JTextArea();   text.setLineWrap(true);   getContentPane().add(new JScrollPane(text));  } } --------------------エラー-------------------- JTextArea.java:12: シンボルを解決できません。  シンボル: メソッド setLineWrap (boolean)  場所 : JTextArea の クラス       text.setLineWrap(true);         ^ エラー 1 個

    • ベストアンサー
    • Java
  • JavaAppletがIEで表示できない

    毎日すいません。 せっぱ詰まってて、非常に困ってます。 実は、昨日教えて頂いたものは、AppletViewerを介して、 しっかりとできあがったのですが、なぜか、インターネットエクスプローラからは見えないんです。 作ったファイル、 JText01.class JText01.html JText01.java は、全て同じフォルダにあります。 ご存じの方、どうかお力を貸して下さい。 お願いします。 ------------- HTML ソース ------------- <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=Shift_JIS"> <title>JAVA Applet Test</title> </head> <body> <h2>JText01</h2> <applet code="JText01.class" width="300" height="100"> </applet> </body> </html> ------------- JAVA ソース ------------- /* TextArea改行用テスト */ import java.awt.*; import java.awt.event.*; import java.applet.*; import javax.swing.*; public class JText01 extends JApplet{ public void init() { JTextArea ta = new JTextArea( 5, 20); ta.setLineWrap(true); getContentPane().add(new JScrollPane(ta), BorderLayout.CENTER); }

    • ベストアンサー
    • Java
  • JAVAのテキストエリアを自由に着けたり外したい

    JAVAアプレットで 設置したテキストエリアを クリックすると外すようにしたい 以下のようにソースを組んだのですが クリックしても消えてくれませんどうしたらいいでしょうか import java.awt.*; import java.awt.event.*; import java.applet.*; import java.util.Calendar; import java.util.Date; public class Test01 extends Applet implements MouseListener { char mode = 0; //表示画面のモード //編集エリアの入力 TextArea textArea1; public void init() { addMouseListener(this); //Applet内のMouseイベント } public void paint(Graphics g){ textArea1 = new TextArea(); if(mode == 0) { this.remove(textArea1); } else if(mode == 1) { textArea1.setBounds(new Rectangle(10, 10, 250, 70)); this.add(textArea1); } } //Mouseがクリックされた public void mouseClicked(MouseEvent e){ int mx=e.getX(); //現在のMouseのx座標を取得 int my=e.getY(); //現在のMouseのy座標を取得 if(mode == 0) { mode = 1; } else if(mode == 1) { mode = 0; } repaint(); } //MouseはApplt内に入りました public void mouseEntered(MouseEvent e){ //repaint(); } //Mouseが外に出た public void mouseExited(MouseEvent e){ //repaint(); } //Mouseを押した public void mousePressed(MouseEvent e){ //repaint(); } //Mouseが離されました public void mouseReleased(MouseEvent e){ //repaint(); } }

    • ベストアンサー
    • Java
  • 「ScrollPane」のイベントの取得方法は?(AWT)

    タイトルのままなのですが、「ScrollPane」のイベント取得方法が知りたいのです。 例えばマウスのイベントを取得する時は下記のようにしますよね。 ************************************************* panel1.addMouseListener(new panel1_MouseAdapter(this)); ************************************************* class panel1_MouseAdapter extends java.awt.event.MouseAdapter { Panel_main adaptee; panel1_MouseAdapter(Panel_main adaptee) { this.adaptee = adaptee; } public void mouseClicked(MouseEvent e) { adaptee.panel1_mouseClicked(e); } } ************************************************* void panel1_mouseClicked(MouseEvent e){ //ここに処理を書く } ************************************************* 「ScrollPane」のスクロールされたとか、↓↑がクリックされたなどスクロール特有のイベントを取得したいのです。

    • ベストアンサー
    • Java
  • 一つにまとめたい

    最近JAVAプログラミングをやりはじめました。 netbeansで作成しています。 文章を入力し、ドラッグしてもらい格納ボタンを押すと下に表示されます。 ドラッグした文字でいいならOKボタンを押します。 押すと配列に格納されます。 表示を押すと配列の中身が見えます(これは少し適当な作りですが) 今の段階ではこれでうまくいきます。ですがどの配列に入れるか選択したい場合に困っています。 「配列2に格納」というボタンを作った場合、配列2に格納するようにするにはどうすればよいでしょうか? 今の段階では「配列に格納」というボタンは実際はドラッグした文字しか表示していませんが、本来は複数のボタンを配置してボタンにより動作を変えたいのです。ただ同じものを使いたいのです。わざわざ別のボタンやテキストエリアを作るのは無駄ですし。 ただ色々試してもエラーが出てしまい実行できずにいます。 ソースを載せておきます。お願いします。 package javaapplication5; public class sample11 extends javax.swing.JFrame { int i=0; String word1; String[] test = new String[10]; /** Creates new form sample11 */ public sample11() { initComponents(); } @SuppressWarnings("unchecked") private void initComponents() { word = new javax.swing.JTextField(); jButton1 = new javax.swing.JButton(); SelectWord = new javax.swing.JTextField(); Ok = new javax.swing.JButton(); jLabel1 = new javax.swing.JLabel(); Show = new javax.swing.JButton(); jScrollPane1 = new javax.swing.JScrollPane(); ShowResult = new javax.swing.JTextArea(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); word.setText("文章を入力"); jButton1.setText("配列に格納"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); Ok.setText("OK"); Ok.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { OkActionPerformed(evt); } }); jLabel1.setText("で構いませんか?"); Show.setText("表示"); Show.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { ShowActionPerformed(evt); } }); ShowResult.setColumns(20); ShowResult.setRows(5); jScrollPane1.setViewportView(ShowResult); (文字数の都合でここにあったレイアウトに関する記述は削除しました) private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed word1 = word.getSelectedText(); SelectWord.setText(word1); } private void OkActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_OkActionPerformed test[i] = SelectWord.getText(); ++i; }//GEN-LAST:event_OkActionPerformed private void ShowActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ShowActionPerformed for(int j=0;j<i;j++){ ShowResult.setText(ShowResult.getText()+test[j]+"\n"); } } public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new sample11().setVisible(true); } }); } private javax.swing.JButton Ok; private javax.swing.JTextField SelectWord; private javax.swing.JButton Show; private javax.swing.JTextArea ShowResult; private javax.swing.JButton jButton1; private javax.swing.JLabel jLabel1; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTextField word; // End of variables declaration }

    • ベストアンサー
    • Java