0

最初のウィンドウが

ここに画像の説明を入力

ログインをクリックすると、ログイン ウィンドウが表示され、正しい資格情報がタイム スタンプとデータ セット ID ウィンドウを選択するように指示された後に表示されます。これは、API キーの値にアクセスする方法です ( Login.java)

String value1=text1.getText();
String value2=text2.getText();
URL url = new URL("http://website-link/method/user.json?userName="+value1+"&password="+value2);

HttpURLConnection httpCon = (HttpURLConnection) url.openConnection(); 
BufferedReader in = new BufferedReader(new InputStreamReader(httpCon.getInputStream()));
String inputLine;
StringBuilder sb = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
  sb.append(inputLine);
}

String Result;
Result=sb.toString();
String jsonSource = Result;
JSONArray array;
try {
  array = new JSONArray(jsonSource);
  for (int i = 0; i < array.length(); i++) {
    JSONObject firstObject = (JSONObject) array.get(i);
    System.out.println("APIkey is  " + firstObject.getString("apiKey"));
    APIkey=firstObject.getString("apiKey");
  }

ログインに成功すると、ユーザーはいつでもデータセットとタイムスタンプを選択できるようになります。つまり、(データ セットとタイムスタンプ ウィンドウを選択するために) にLogin.java値を渡します。Algorithm.java

if (httpCon.getResponseCode()==200) {
  Algorithm frame=new Algorithm(APIkey);
  frame.setSize(450,200);
  frame.setVisible(true);
  dispose();
  JLabel label = new JLabel("Welcome:"+value1);
}

現在、この API キーはAlgorithm.java、接続を設定し、入力されたタイム スタンプとデータ セット ID に基づいて特定のノードを選択するために使用されます。

ログイン後、いつでもこのウィンドウに表示されている 2 番目のボタンをクリックして、タイム スタンプとデータ セット ID を選択できるようにしたいと考えています。Main.javaしかし、その場合、これを使用しているため(上​​記のウィンドウを担当)、APIキーの値がありません。また、Main.javaAPI キーの値は null です。ユーザーにログインユーザー名とパスワードを何度も入力させたくありません。

if (e.getSource() == myFirstButton) {
  Login frame1=new Login();
  frame1.setSize(450,200);
  frame1.setVisible(true);
}

if (e.getSource() == mySecondButton) {
  Algorithm frame=new Algorithm(APIkey);
  frame.setSize(450,200);
  frame.setVisible(true);
}

ユーザーがログインウィンドウで正しいアクセス資格情報を入力し、どこでも使用できるようになったら、APIキーの値をすべてのファイルに保存するにはどうすればよいですか。 各ファイル: Log-in.java 、 Algorithm.java 、Main.java は jframe を拡張しています。Main.java には main() 関数があり、Netbeans 7.1.2 で作業しています。これをSwing Javaでコーディングしています。私はJavaが初めてです。

4

1 に答える 1

0

これを行う最も速い方法は、グローバル変数APIKeyMain.java入れて、ユーザーのログイン後にその値を設定することです。これを行う場合は、ログアウト ボタンを追加して、この変数の設定を解除します。

于 2012-07-10T07:28:19.233 に答える