Gente, estou com um problema em um exercício de Java. O programa funciona da seguinte forma:

Após passar por uma tela de login, o usuário cairá em uma tela onde poderá fazer depósitos e saques.
1° - Se o cliente for comum, ele poderá realizar depósitos e saques, mas nunca poderá sacar mais do que tem na conta (saldo),
2° - Se o cliente for especial, ele poderá realizar depósitos e saques, porém, se ele sacar além do que tem na conta (saldo), o programa permitirá, desde que o seu saldo não fique maior que -1000 (ou seja, mais negativo).
OBS: Nos casos em que o programa não deixa sacar o dinheiro, ele responde com uma mensagem de erro da classe JOptionPane.
Este é código do programa, o algoritmo de saque para o cliente comum está completo, já o algoritmo do cliente especial (2° bloco), está incompleto:
private void btnSacarActionPerformed(java.awt.event.ActionEvent evt) {
if (cbCliente.getSelectedIndex() == 0) {
double valorNovo, saldo, saque;
saldo = Double.parseDouble(txtSaldo.getText());
saque = Double.parseDouble(JOptionPane.showInputDialog(null, "Digite o valor de saque desejado (R$):"));
if (saque <= saldo) {
JOptionPane.showMessageDialog(null, "Você sacou R$" + saque + " da sua conta.");
valorNovo = saldo - saque;
txtSaldo.setText(String.valueOf(valorNovo));
}else{
JOptionPane.showMessageDialog(null, "Você não pode sacar um valor acima do seu saldo atual!", "Saldo insuficiente!", JOptionPane.ERROR_MESSAGE);
}
}
if (cbCliente.getSelectedIndex() == 1) {
double valorNovo, saldo, saque;
saque = Double.parseDouble(JOptionPane.showInputDialog("Digite o valor de saque desejado (R$):"));
saldo = Double.parseDouble(txtSaldo.getText());
}
}