最初のウィンドウが
ログインをクリックすると、ログイン ウィンドウが表示され、正しい資格情報がタイム スタンプとデータ セット 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.java
API キーの値は 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が初めてです。