2016-08-07 17 views
-1

JframeとJButtonがあります。これは「ブラウズ」ボタンです。私は、プログラムを実行してその機能を実行する、すなわちブラウザを開くためにボタンを自動的にクリックします。ファイルを選択します。 助けてください。Javaでボタンを自動的にクリック

package MyPackage; 
public class MyFrame extends javax.swing.JFrame { 
    public MyFrame() { 
    initComponents(); 
    } 
    private void BrowseActionPerformed(java.awt.event.ActionEvent evt) {          

    JFileChooser fileChooser = new JFileChooser(); 
    int returnValue = fileChooser.showOpenDialog(null); 
    if (returnValue == JFileChooser.APPROVE_OPTION) { 
    File selectedFile = fileChooser.getSelectedFile(); 
     try { 
      java.awt.Desktop.getDesktop().open(selectedFile);//<-- here 
     } catch (IOException ex) { 
      Logger.getLogger(MyFrame.class.getName()).log(Level.SEVERE, null, ex); 
     } 
    } 

} 

public static void main(String args[]) { 
    java.awt.EventQueue.invokeLater(new Runnable() { 
     public void run() { 
       new MyFrame().setVisible(true); 
     } 
    }); 
} 
+0

上記の要件は非常に非理論的です。起動時に実行する論理的なアクションであれば、ボタンはまったく必要ありません!しかし、ユーザーがボタンを後でクリックするようにしたと仮定しましょう。 'private void BrowseActionPerformed(java.awt.event.ActionEvent evt)'のメソッドを 'private void BrowseActionPerformed()'に再定義し、 'initComponents();'を 'initComponents();に変更します。 BrowseActionPerformed(); '一般的なヒント:1)すぐに役立つように、[MCVE]または[短く、自己完結型の正しい例](http://www.sscce.org/)を投稿してください。 .. –

+0

.. 2)一般的なJava命名法(命名規則、例えば 'EachWordUpperCaseClass'、' firstWordLowerCaseMethod() '、' firstWordLowerCaseAttribute'が 'UPPER_CASE_CONSTANT'でない限り)を学び、それを一貫して使用してください。 –

答えて

1

は、プログラムのJButtonボタンを使用するにはクリックしてください: はここに私のコードです

button.doClick() 
+0

この回答は技術的に正しいものですが、*すばらしい*回答は*「それをしないでください。」と表示されます。* [[Do not do it it is valid answer?]](http://詳細については、meta.stackexchange.com/questions/8891/is-dont-do-it-a-valid-answer)を参照してください。 –

+0

コメントありがとうございます。私は "それをやってはいけませんが、代わりに.."という言葉はこの質問に関連しています。質問はそれを行う方法を提供しませんでした。回答例を投稿してください。 – c0der

+0

*「質問はそれを行う方法を提供していませんでした」*質問の質問者が代替案を提示した場合、より一般的な方法で質問を提示した場合など。 「起動時にアクションを呼び出す最良の方法は?」ですが、それはあまり関係ありません。これはしばしば[XY問題](http://meta.stackexchange.com/q/66377)の例です。*私*は答えを出して、私はコメントをして、OPが来るのを待っています彼らは答えを急ぐのではなく、これを間違った方向に向かっている可能性があります。 –

1

書き込みBrowse.doClickを();あなたのコンストラクタで。

+0

この回答は技術的に正しいものですが、*すばらしい*回答は*「それをしないでください。」と表示されます。* [[Do not do it it is valid answer?]](http://詳細については、meta.stackexchange.com/questions/8891/is-dont-do-it-a-valid-answer)を参照してください。 –

関連する問題