その日のユーザー入力とその日の降雨を受け入れるプログラムを作成する必要があります。降雨ビューアー、降雨チャート、降雨フレームの 3 つのクラスがあります。これまでのところ、Rainfall Frame で GUI を作成し、アクション リスナーを設定してユーザー入力を JTextArea に追加しました。ただし、入力は 1 つしか表示されません。すべて 0 として初期化された 31 日をリストし、ユーザーが日付と降雨量を入力すると更新する必要があります。
/**
* Action listener class for reading in data and processing it
* when the Add reading button is clicked.
*/
class AddReadingListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
// Fetch the new reading details
int newDay = Integer.parseInt(dayEntryField.getText());
double newRain = Integer.parseInt(rainEntryField.getText());
// Clear the input
dayEntryField.setText("");
rainEntryField.setText("");
dataArea.setText(newDay + ": " + newRain + " cm" + "\n");
}
}
現時点では、ユーザー入力は配列に格納されていません。クラス Rainfall Chart に配列を作成しました。
/**
* Constructor: initializes the rainfall array to 0s.
*/
public RainfallChart()
{
rainfall = new double[32]; // 31+1 as will not use element 0
for(int i=0;i<rainfall.length;i++)
{
rainfall[i] = 0;
}
}
プログラムの最後に、ユーザーが送信した値に関する棒グラフをテキストエリアに描画する必要があります。現時点では、Rainfall Frame クラスの JTextField から Rainfall Chart クラスの配列にユーザー入力を転送する方法を考えています。
編集:
降雨フレーム クラスで作成された配列 -
private void getArray()
{
int i;
int[ ] a = new int[32];
for(i=0;i<a.length;i++)
{
a[i] = Integer.parseInt(rainEntryField.getText());
}
}