não está alternando entre A e B

8 respostas
E

Nesse código está faltando alguma coisa. Pois ele não está alternando entre A e B quando clica o botão.

O que devo fazer?

class InnerButton {

	JFrame frame;
	JButton b;

	public static void main(String[] args) {

		InnerButton gui = new InnerButton();
		gui.go();

	}

	public void go() {
		frame = new JFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		b = new JButton("A");
		b.addActionListener(null);
		
		frame.getContentPane().add(BorderLayout.SOUTH,b);

		frame.setSize(300, 300);
		frame.setVisible(true);
	}
	class BListener implements ActionListener{ // o metodo addActionListener é uma classe que implementa uma interface.
		public void actionPerformed(ActionEvent e){
			if(b.getText().equals("A")){
				b.setText("B");
			}else{
				b.setText("A");
			}
		}
	}

}

8 Respostas

Luiz_Augusto_Prado
edersombarros:
Nesse código está faltando alguma coisa. Pois ele não está alternando entre A e B quando clica o botão.

O que devo fazer?

class InnerButton {

	JFrame frame;
	JButton b;

	public static void main(String[] args) {

		InnerButton gui = new InnerButton();
		gui.go();

	}

	public void go() {
		frame = new JFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		b = new JButton("A");
		b.addActionListener(new BListener ());
		
		frame.getContentPane().add(BorderLayout.SOUTH,b);

		frame.setSize(300, 300);
		frame.setVisible(true);
	}
	class BListener implements ActionListener{ // o metodo addActionListener é uma classe que implementa uma interface.
		public void actionPerformed(ActionEvent e){

JButton b = (JButton)e.getSource(); // pesquise sobre isso.

			if(b.getText().equals("A")){
				b.setText("B");
			}else{
				b.setText("A");
			}
		}
	}

}

vc colocou null no lugar do objeto listener.

E

He o que tem que colocar Luiz Augusto Prado?

pois eu tiro o null, e no ide dá erro.

Luiz_Augusto_Prado

edersombarros:
He o que tem que colocar Luiz Augusto Prado?

pois eu tiro o null, e no ide dá erro.

Já dei uma corrigida no seu codigo. compare.
Vc não achou estranho criar uma classe BListener e não utilizar?

E

Consegui aqui irmão…

muito obrigado…

joaoabi

edersombarros:
Consegui aqui irmão…

muito obrigado…


Então por favor marque o tópico como Resolvido

E

joaoabi:
edersombarros:
Consegui aqui irmão…

muito obrigado…


Então por favor marque o tópico como Resolvido

Desculpa, mas aonde fica o tópico para colocar o resolvido.

diogogama

Você edita o seu post inicial e no título coloca entre colchetes mesmo [RESOLVIDO]…

E
edersombarros:
Nesse código está faltando alguma coisa. Pois ele não está alternando entre A e B quando clica o botão.

O que devo fazer?

class InnerButton {

	JFrame frame;
	JButton b;

	public static void main(String[] args) {

		InnerButton gui = new InnerButton();
		gui.go();

	}

	public void go() {
		frame = new JFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		b = new JButton("A");
		b.addActionListener(null);
		
		frame.getContentPane().add(BorderLayout.SOUTH,b);

		frame.setSize(300, 300);
		frame.setVisible(true);
	}
	class BListener implements ActionListener{ // o metodo addActionListener é uma classe que implementa uma interface.
		public void actionPerformed(ActionEvent e){
			if(b.getText().equals("A")){
				b.setText("B");
			}else{
				b.setText("A");
			}
		}
	}

}
Criado 28 de agosto de 2013
Ultima resposta 29 de ago. de 2013
Respostas 8
Participantes 4