totalTime の取得に関して、ここで多くの回答を読みました。見つけたこのコードを自分のコードに適用しようとしました:
long secs = (dateFormatter.format(now2) - dateFormatter.format(now1)) / 1000;
int hours = secs / 3600;
secs = secs % 3600;
int mins = secs / 60;
secs = secs % 60;
私のコード:
public void actionPerformed(ActionEvent e)
{
LogicalChecker lc = new LogicalChecker();
Date now1 = new Date();
Date now2 = new Date();
cobadatabase cb = new cobadatabase(studNumTF.getText());
String output;
if(e.getActionCommand() == "Log In")
{
if(station == 0)
{
lc.StationCheck(0);
}
else if(seatOccupied[station-1] == true)
{
lc.StationCheck(2);
}
else if(!studNumTF.getText().equals(cb.getStudentNumber()))
{
studNumTF.setText("");
lc.StationCheck(3);
}
else
{
seatOccupied[station-1] = true;
Aid[station-1].setText(cb.getStudentNumber());
Afirstname[station-1].setText(cb.getFirstName());
Alastname[station-1].setText(cb.getLastName());
seat[station-1].setBackground(Color.red);
Atime[station-1].setText(dateFormatter.format(now1));
occupiedSeatCounter++;
}
}
if(e.getActionCommand() == "Log Out")
{
if(station == 0)
{
lc.StationCheck(0);
}
else if(Aid[station-1].getText() == "Vacant Station")
{
lc.StationCheck(1);
}
else
{
Aid[station-1].setText("Vacant Station");
Afirstname[station-1].setText("---------");
Alastname[station-1].setText("---------");
seat[station-1].setBackground(Color.green);
Atime[station-1].setText("00:00:00");
seatOccupied[station-1] = false;
studNumTF.setText("");
output = "Time Check-Out "+dateFormatter.format(now2)+"\n Total Time: ";
JOptionPane.showMessageDialog(null,output, "Check-Out.",JOptionPane.INFORMATION_MESSAGE);
}
}
}
ただし、演算子を java.lang.String に適用できないというエラーが表示されます。合計時間を取得して、作成した JOptionPane に表示するにはどうすればよいかわかりません。本当に助けが必要です。