Tenho uma class preciso colocar nessa classe uma GUI, mas para isso preciso que tudo esteja dentro de um metodo dessa classe, ou seja, o GUI e um metodo, mas esta ocorrendo erro de compilacao que nao consegue saber se o metodo que eu criei e uma classe ou uma interface, lembrando que criei tudo globalmente, o frame, buttons e apenas implementos os detalhes e chamo eles no metodo. Podem me dar uma ideia de como fazer isso, lembrando que o Gui tem que estar em um metodo nao posso criar uma classe para ele pois para o que estou desenvolvendo nao e permitido outra classe.
nossa, nao entendi nada!!! coloca o codigo aí (ou pelo menos a estrutura dele) e o erro q ta dando.
public class Teste extends StationaryAgent {
JFrame gui = new JFrame();
JLabel jLabel1 = new JLabel("Digite o nome do canal:");
JButton jButtonMenu = new JButton();
JTextField TxtCanal = new JTextField();
JLabel LbResposta = new JLabel();
JLabel n_canal = new JLabel();
String x;
public Teste(){
...
}
public static void main (String[] args) {
...
Tela();
}
public void run () {
... }
public ITuple busca_canal (){
... }
}
public void Tela () {
gui.setSize(300, 300);
gui.setTitle("TV Digital");
gui.setVisible(true);
jLabel1.setBounds(new Rectangle(50, 40, 200, 15));
jLabel1.setForeground(Color.blue);
TxtCanal.setText("");
TxtCanal.setBounds(new Rectangle(50, 60, 200, 15));
TxtCanal.addFocusListener(new Tela_TxtCanal_focusAdapter(this));
LbResposta.setBounds(new Rectangle(50, 80, 200, 15));
LbResposta.setForeground(Color.red);
gui.getContentPane().setLayout(null);
jButtonMenu.setBackground(Color.gray);
jButtonMenu.setBounds(new Rectangle(20, 200, 80, 25));
jButtonMenu.setText("Busca");
jButtonMenu.addActionListener(this);
gui.getContentPane().setBackground(new Color(74, 149, 149));
gui.setForeground(new Color(88, 171, 171));
gui.setTitle("");
gui.getContentPane().add(jButtonMenu, null);
gui.getContentPane().add(TxtCanal, null);
gui.getContentPane().add(jLabel1, null);
gui.getContentPane().add(LbResposta, null);
}
public void actionPerformed(ActionEvent e) {
...
}
}
O erro de compilacao e que o compilador nao entende se o metodo tela e uma classe ou uma interface
o metodo Tela() ta fora da classe!! isso vai dar erro de compilacao mesmo…
vc precisa coloca-lo dentro da classe ou criar uma outra classe para conte-lo. eh um principio fundamental: nao existem metodos fora de classes!! (ou fora de interfaces - definicoes de metodos)
uma sugestão…
quando criar um tópico coloque algo com sentido no assunto para facilitar a busca depois. Tudo que se tem no fórum são dúvidas
Erro do codigo agora:
Teste.java:128: addFocusListener(java.awt.event.FocusListener) in java.awt.Compo
nent cannot be applied to (Teste)
TxtCanal.addFocusListener(this);
^
Teste.java:136: addActionListener(java.awt.event.ActionListener) in javax.swing.
AbstractButton cannot be applied to (Teste)
jButtonMenu.addActionListener(this);
^
2 errors
Bom desculpe se as perguntas podem parecer imbecil, mas e que nao tenho dominio da linguagem e ninguem que possa me ajudar, assim estou recorrendo a vcs![/code]
Eldrey, o problema é que você está fazendo isso:
jButtonMenu.addActionListener(this);
O Método addActionListener recebe como parâmetro um objeto de qualquer classe que implementa a interface java.awt.event.ActionListener. Assim ou a classe Teste ou uma se suas superclasses deve implementá-la.
A mesma coisa vale para a classe Tela_TxtCanal_focusAdapter, que deverá implementar a java.awt.event.FocusListener.
Detalhe, o código não está compatível com a mensagem de erro já que em nenhum lugar existe
o trecho
TxtCanal.addFocusListener(this);
Mesmo assim, acho que deu para sacar a idéia…