Duvida no codigo

2 respostas
M

ola
segue meu codigo
nao consegui descobrir porque na hora do system.out.println ta vindo null se eu repasso o valor antes
o que pode ser
obrigado

import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;

public class Botao_Direito_Mouse {

	private JPopupMenu popup = new JPopupMenu();
	public String valor[] = new String[20];

	public String getValor(int i) {
		return valor[i];
	}
	
	public void setValor(int i, String val) {
		this.valor[i] = val.trim();
	}

	public Botao_Direito_Mouse() {
		JMenuItem mi6 = new JMenuItem("Desfazer", null);
		mi6.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent e) {
				setValor(0,"a");
				setValor(1,"fafdb");
				setValor(2,"c");
			} 
		});
		
		JMenuItem mi7 = new JMenuItem("Refazer", null);
		mi7.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent e) {
				System.out.println( getValor(1) );
			} 
		});

		popup.add(mi6);
		popup.add(mi7);
		
		
	}
}

obrigado pessoal

2 Respostas

emmanuelrock

Seguinte, acho que para não retornar null você deve clicar antes em ‘Desfazer’, já que atribuição é feita apenas nesse item, você poderia atribuir no item ‘Desfazer’? Como no código abaixo:

JMenuItem mi7 = new JMenuItem("Refazer", null);  
         mi7.addActionListener(new java.awt.event.ActionListener() {  
             public void actionPerformed(java.awt.event.ActionEvent e) {                    
                 setValor(0,"a");  
                 setValor(1,"fafdb");  
                 setValor(2,"c"); 
                 System.out.println( getValor(1) );                    
            }   
         });

Abraço…

M

entao
na real o que eu quero fazer eh um desfazer e refazer, igual do word
sei que ja existe um, mas quero fazer assim

a ideia eh no desfazer ele setar um valor qualquer para o array
e no refazer buscar esse valor que foi setado

entao no metodo desfazer eu uso o set e no refazer o get

Criado 24 de julho de 2009
Ultima resposta 24 de jul. de 2009
Respostas 2
Participantes 2