mynhok
Salve, instancie uma váriavel de status, que mude cada vez que o botão for clicado, exemplo:
int status = 1; // defina por exemplo, 1 para negativo, e 0 para positivo
Quando status = 1, transforme o numero da tela em negativo, quando status = 0, faça o contrário..
criador
Pesquise por java.util.regex.Matcher
Acredito que tenha algum método que faça isto para você.
Ou senão, multiplique sempre por -1 o valor atual.
Exemplo:
int a = 500;
a = a * -1;
System.out.println(a);
a = a * -1;
System.out.println(a);
a = a * -1;
System.out.println(a);
a = a * -1;
System.out.println(a);
a = a * -1;
System.out.println(a);
Se você rodar isto, verá que sempre irá retornar o sinal contrário do valor.
Abraço!
criador
Fiz um pequeno exemplo.
Talvez isto te ajude.
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class PositivoNegativo extends JFrame
{
private JTextField field;
private JButton button;
private PositivoNegativo()
{
setSize(100,120);
setLayout(null);
setLocationRelativeTo(null);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
criarJanela();
}
private void criarJanela()
{
field = new JTextField();
field.setBounds(5,5,50,20);
getContentPane().add(field);
button = new JButton
(
new AbstractAction("+/-") {
public void actionPerformed(ActionEvent e ) {
if (!field.getText().isEmpty()) {
field.setText(""+Integer.parseInt(field.getText()) * (-1));
}
}
}
);
button.setBounds(5,30,50,20);
getContentPane().add(button);
}
public static void main(String[] args)
{
JFrame.setDefaultLookAndFeelDecorated(true);
new PositivoNegativo().setVisible(true);
}
}
Abraço!