Você pode controlar alguns estados. Crie uma variável estado com o valor inicial de 1 (que significa, receber ponto). E aí, use o valor 2 para significar outra coisa.
private void OpçaoActionPerformed(java.awt.event.ActionEvent evt) {
if (estado == 1) {
i++;
JOptionPane.showMessageDialog(SuaJanela.this, "Recebeu +1 ponto de: " +i + " pontos.");
estado = 2;
Opçao.setText("Outra coisa");
} else if (estado == 2) {
JOptionPane.showMessageDialog(SuaJanela.this, "Outra coisa!");
Opçao.setText("Opção");
estado = 1;
}
}
Outro detalhe: chamar sua variável que controla os pontos de “i” é uma péssima idéia. Chame de pontos. i é muito usado para iterações e dar um valor tão importante a ele só vai dar confusão.
Finalmente, não se usa “null” no primeiro parâmetro de um JOptionPane. Ele pede uma referência a janela. Coloquei ali em cima, basta trocar SuaJanela pelo nome da sua classe do JFrame.