Problemas com janela (superinterface)

2 respostas Resolvido
G
Eae,

To fazendo um programinha básico de um caixa eletronico. Criei uma classe CaixaEletronico com as variaveis e os metodos, e depois criei uma  interface,ICaixaEletronico com o WINDOWS BUILDER. Quando vou implementar a interface na outra classe da o seguinte erro.

The type ICaixaEletronico cannot be a superinterface of CaixaEletronico; a superinterface must be an interface

Ficaria feliz se alguém pudesse me ajudar

Se precisar do código inteiro eu mando.

import java.util.Scanner;

public class CaixaEletronico implements ICaixaEletronico{

Scanner sc = new Scanner(<a href="http://System.in">System.in</a>);
int cedula100 = 0;
int cedula50 = 0;
int cedula20 = 0;
int cedula10 = 0;
int cedula5 = 0;
int cedula2 = 0;
int cedula1 = 0;





public void pegaRelatorioCedulas() {
	System.out.println("Quantidade de notas de 1: "+ cedula1);
	System.out.println("Quantidade de notas de 2: "+ cedula2);
	System.out.println("Quantidade de notas de 5: "+ cedula5);
	System.out.println("Quantidade de notas de 10: "+ cedula10);
	System.out.println("Quantidade de notas de 20: "+ cedula20);
	System.out.println("Quantidade de notas de 50: "+ cedula50);
	System.out.println("Quantidade de notas de 100: "+ cedula100);
	}

}

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.border.EmptyBorder;

import javax.swing.JTextField;

import javax.swing.JButton;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import javax.swing.JLabel;

import java.awt.Font;

public class ICaixaEletronico extends JFrame {

private JPanel contentPane;
private JButton sacar;
private JLabel modCliente;
private JLabel modAdm;
private JButton relatorioCedulas;
private JButton vtotal;
private JButton repCedulas;
private JButton cotaMinima;
private JLabel modAmbos;
private JButton sair;


public static void main(String[] args) {
	CaixaEletronico a = new CaixaEletronico();
	
	
	EventQueue.invokeLater(new Runnable() {
		public void run() {
			try {
				ICaixaEletronico frame = new ICaixaEletronico();
				frame.setVisible(true);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	});
}


public ICaixaEletronico() {
	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	setBounds(100, 100, 229, 381);
	contentPane = new JPanel();
	contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
	setContentPane(contentPane);
	contentPane.setLayout(null);
	
	sacar = new JButton("Sacar");
	sacar.setFont(new Font("Tahoma", Font.PLAIN, 14));
	sacar.addActionListener(new ActionListener() {
		
		public void actionPerformed(ActionEvent arg0) {
			
		}
	});
	sacar.setBounds(24, 45, 158, 23);
	contentPane.add(sacar);
	
	modCliente = new JLabel("Modulo do cliente:");
	modCliente.setFont(new Font("Tahoma", Font.PLAIN, 14));
	modCliente.setBounds(44, 11, 116, 23);
	contentPane.add(modCliente);
	
	modAdm = new JLabel("M\u00F3dulo do Administrador:");
	modAdm.setFont(new Font("Tahoma", Font.PLAIN, 14));
	modAdm.setBounds(24, 86, 158, 30);
	contentPane.add(modAdm);
	
	relatorioCedulas = new JButton("Relatorio de Cedulas");
	relatorioCedulas.setBounds(24, 127, 158, 23);
	contentPane.add(relatorioCedulas);
	
	vtotal = new JButton("Valor Total Disponivel");
	vtotal.setBounds(24, 161, 158, 23);
	contentPane.add(vtotal);
	
	repCedulas = new JButton("Reposi\u00E7\u00E3o de Cedulas");
	repCedulas.setBounds(24, 195, 158, 23);
	contentPane.add(repCedulas);
	
	cotaMinima = new JButton("Cota Minima");
	cotaMinima.setBounds(24, 229, 158, 23);
	contentPane.add(cotaMinima);
	
	modAmbos = new JLabel("Modulo de Ambos:");
	modAmbos.setFont(new Font("Tahoma", Font.PLAIN, 14));
	modAmbos.setBounds(44, 263, 116, 36);
	contentPane.add(modAmbos);
	
	sair = new JButton("Sair");
	sair.setBounds(24, 310, 158, 23);
	contentPane.add(sair);
}

}

2 Respostas

A
Solucao aceita

Ola Guilherme, no meu ver você esta confundindo a palavra interface, nós temos a interface Java que é uma classe abstrata e temos a interface GUI(Interface gráfica do usuário) que são classes que representam as telas do seu sistema, esta errado o uso do implements em CaixaEletronico, você pode apenas exterder(extends) se quiser ter acesso as propriedades da sua ICaixaEletronico ou apenas instanciar tornando seus atributos private, criando métodos de acesso para eles e populando os valores em runtime.

G

Muito Obrigado pela aula rsrs.

Vou pesquisar um pouco mais e refazer o código.

Criado 13 de março de 2016
Ultima resposta 15 de mar. de 2016
Respostas 2
Participantes 2