如果用戶輸入錯誤的密碼超過5次,我會發出安全警告,然後彈出一個框讓用戶解鎖並且框架還會繼續循環警告聲。用戶解鎖後,它將跳回到登錄框架。我的問題是我解鎖後,系統跳回登錄幀,但聲音仍在運行。爲什麼?如何在打開新的JFrame時停止音頻
這是我的按鈕代碼跳回登入畫面
Staff s = new Staff();
String id = m_id.getText();
String pass = m_pass.getText();
String position = "Manager";
try{
String sql = "Select * from Staff Where Position='"+position+"'";
pst=conn.prepareStatement(sql);
rs=pst.executeQuery();
while(rs.next()){
String add = rs.getString("Staff_ID");
s.setStaff_ID(add);
String add2 = rs.getString("Password");
s.setPassword(add2);
}
if((s.getStaff_ID().equals(id)) && (s.getPassword().equals(pass))){
warning(clip);
dispose();
new login().setVisible(true);
}
}catch(Exception e){
JOptionPane.showMessageDialog(null,e.getMessage());
}
,我用這個循環用聲音
private void warning(){
try {
URL url = this.getClass().getClassLoader().getResource("sound/aleart.wav");
AudioInputStream audioIn = AudioSystem.getAudioInputStream(url);
Clip clip = AudioSystem.getClip();
clip.open(audioIn);
clip.loop(Clip.LOOP_CONTINUOUSLY);
}catch(Exception ex){
JOptionPane.showMessageDialog(null, ex.getMessage());
}
}
我的GUI的名字是WarningLogin,我這裏所說的warning()
。
public WarningLogin() {
initComponents();
warning();
}
您嘗試停止或關閉剪輯嗎? – MadProgrammer
我嘗試過之前,但也許我把錯誤的地方?我應該在哪裏放? – Q123Q