MainPin.java

注意事項:
サンプルソースコードには実際にオーダーを発注するものがあります。
サンプルソースコードのストラテジーを起動する場合は、注意して下さい。



// Copyright (c) 2009 Dukascopy (Suisse) SA. All Rights Reserved.
package singlejartest.live;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BoxLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.dukascopy.api.system.ClientFactory;
import com.dukascopy.api.system.IClient;


public class MainPin {
    
    private static final Logger LOGGER = LoggerFactory.getLogger(MainPin.class);

    // url of the LIVE jnlp
    private static String jnlpUrl = "https://www.dukascopy.com/client/live/jclient/jforex.jnlp";
    // user name
    private static String userName = "";
    // password
    private static String password = "";
    
    private static IClient client;

    public static void main(String[] args) throws Exception {
        // IClientインターフェースのインスタンスを取得
        client = ClientFactory.getDefaultInstance();
        
        LOGGER.info("接続中...");
        // jnlp, user , passwordでサーバーに接続します
        client.connect(jnlpUrl, userName, password, PinDialog.showAndGetPin());

        // client.isConnected()での接続待ちを追加
        // 通貨ペア登録とストラテジー起動を追加
    }
    
    @SuppressWarnings("serial")
    private static class PinDialog extends JDialog {
        
        private final JTextField pinfield = new JTextField();
        private final static JFrame noParentFrame = null;
        
        static String showAndGetPin() throws Exception{
            return new PinDialog().pinfield.getText();
        }

        public PinDialog() throws Exception {            
            super(noParentFrame, "PIN Dialog", true);
            
            JPanel captchaPanel = new JPanel();
            captchaPanel.setLayout(new BoxLayout(captchaPanel, BoxLayout.Y_AXIS));
            
            final JLabel captchaImage = new JLabel();
            captchaImage.setIcon(new ImageIcon(client.getCaptchaImage(jnlpUrl)));
            captchaPanel.add(captchaImage);
            
            
            captchaPanel.add(pinfield);
            getContentPane().add(captchaPanel);
            
            JPanel buttonPane = new JPanel();
            
            JButton btnLogin = new JButton("Login");
            buttonPane.add(btnLogin);
            btnLogin.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    setVisible(false);
                    dispose();
                }
            });
            
            JButton btnReload = new JButton("Reload");
            buttonPane.add(btnReload);
            btnReload.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    try {
                        captchaImage.setIcon(new ImageIcon(client.getCaptchaImage(jnlpUrl)));
                    } catch (Exception ex) {
                        LOGGER.info(ex.getMessage(), ex);
                    }
                }
            });
            getContentPane().add(buttonPane, BorderLayout.SOUTH);
            setDefaultCloseOperation(DISPOSE_ON_CLOSE);
            pack();
            setVisible(true);
        }        
    }
}







スポンサーリンク

スポンサーリンク
検索
リファレンスツリー


Copyright ©2016 JForexAPIで自動売買させ隊! All Rights Reserved.


Top

inserted by FC2 system