Erro ao compilar

4 respostas
Raafer

Boa tarde amigos

Sou novo em programação nesta linguagem e estou com um problema, tentei desenvolver um programa para messenger acompanhando e exemplo de um livro mas na hora de compilar esta dando um erro em uma das classes"Cannot find symbol-Constructor MessageDisplayer(java.leng.String,java.lang.String)

Gostaria de saber que tipo de erro seria esse

import java.awt.BorderLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import javax.swing.Box;

import javax.swing.BoxLayout;

import javax.swing.Icon;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

import javax.swing.SwingUtilities;

import javax.swing.border.BevelBorder;
public class ClientGUI extends JFrame

{

private JMenu      serverMenu;

private JTextArea  messageArea;

private JTextArea  inputArea;

private JButton    connectButton;

private JMenuItem  connectMenuItem;

private JButton    disconnectButton;

private JMenuItem  disconnectMenuItem;

private JButton    sendButton;

private JLabel     statusBar;

private String     userName;

private MessageManager messageManager;

private MessageListener messageListener;
public ClientGUI(MessageManager manager)
{
    super("FM Messenger");
    
    messageManager = manager;
    messageListener = new MyMessageListener();
    serverMenu = new JMenu ("Servidor");
    serverMenu.setMnemonic('S');
    JMenuBar menuBar= new JMenuBar();
    menuBar.add(serverMenu);
    setJMenuBar(menuBar);
    
    Icon connectIcon = new ImageIcon( getClass().getResource("images/Conect.gif"));
    
    connectButton = new JButton("Connect",connectIcon);
    connectMenuItem = new JMenuItem("Connect",connectIcon);
    connectMenuItem.setMnemonic('C');
    
    ActionListener connectListener = new ConnectListener();
    connectButton.addActionListener(connectListener);
    connectMenuItem.addActionListener(connectListener); 
    
    Icon disconnectIcon = new ImageIcon(getClass().getResource("images/Disconnect.gif"));
            
    disconnectButton = new JButton("Disconnect",disconnectIcon);
    disconnectMenuItem = new JMenuItem("Disconnect",disconnectIcon);
    disconnectMenuItem.setMnemonic('D');
    
    disconnectButton.setEnabled(false);
    disconnectMenuItem.setEnabled(false);
    
    ActionListener disconnectListener = new DisconnectListener();
    disconnectButton.addActionListener(disconnectListener);
    disconnectMenuItem.addActionListener(disconnectListener);
    
    serverMenu.add(connectMenuItem);
    serverMenu.add(disconnectMenuItem);
    
    JPanel buttonPanel = new JPanel();
    buttonPanel.add(connectButton);
    buttonPanel.add(disconnectButton);
    
    
    messageArea = new JTextArea();
    messageArea.setEditable(false);
    messageArea.setWrapStyleWord(true);
    messageArea.setLineWrap(true);
    
    JPanel messagePanel = new JPanel();
    messagePanel.setLayout(new BorderLayout(10,10));
    messagePanel.add(new JScrollPane(messageArea),BorderLayout.CENTER);
    
    inputArea= new JTextArea(4,20);
    inputArea.setWrapStyleWord(true);
    inputArea.setLineWrap(true);
    inputArea.setEditable(false);
    
    Icon sendIcon = new ImageIcon(getClass().getResource("images/Send.gif"));
    
    
    sendButton = new JButton("Send",sendIcon);
    sendButton.setEnabled(false);
    sendButton.addActionListener(new ActionListener()
    {
    
    public void actionPerformed(ActionEvent event)
    {
        messageManager.sendMessage(userName,inputArea.getText());
        inputArea.setText("");
    }
}
);



statusBar = new JLabel("Not Connected");
statusBar.setBorder(new BevelBorder(BevelBorder.LOWERED));

add(buttonPanel,BorderLayout.NORTH);
add(messagePanel,BorderLayout.CENTER);
add(statusBar,BorderLayout.SOUTH);

addWindowListener(new WindowAdapter()
{
    public void windowClosing(WindowEvent event)
    {
        messageManager.disconnect(messageListener);
        System.exit(0);
    }
}

);
}

private class ConnectListener implements ActionListener

{

public void actionPerformed(ActionEvent event)

{

messageManager.connect(messageListener);
userName=JOptionPane.showInputDialog(ClientGUI.this,"Enter user name:");
    
    messageArea.setText("");
    connectButton.setEnabled(false);
    connectMenuItem.setEnabled(false);
    disconnectButton.setEnabled(true);
    disconnectMenuItem.setEnabled(true);
    sendButton.setEnabled(true);
    inputArea.setEditable(true);
    inputArea.requestFocus();
    statusBar.setText("Connected:"+userName);
}
}

private class DisconnectListener implements ActionListener

{

public void actionPerformed(ActionEvent event)

{

messageManager.disconnect(messageListener);

sendButton.setEnabled(false);

disconnectButton.setEnabled(false);

disconnectMenuItem.setEnabled(false);

inputArea.setEditable(false);

connectButton.setEnabled(true);

connectMenuItem.setEnabled(true);

statusBar.setText(Not Connected);

}

}
private class MyMessageListener implements MessageListener
{
    public void messageReceived(String from,String message)
    {
[color=red]SwingUtilities.invokeLater(new MessageDisplayer(from,message));[/color]
    }
}
    
private class MessageDisplayer implements Runnable
{

private String fromUser;

private String messageBody;
public String messageDiplayer(String from,String body)
   {
       fromUser = from;
       messageBody = body;
    }
   
    public void run()
    {
        messageArea.append("\n"+fromUser+">"+messageBody);
    }
}

}

4 Respostas

neohacker

Dica:
http://www.guj.com.br/posts/list/50115.java

marcosbrandao

A sua classe MessageDisplayer nao tem o construtor com parametros (String,String)

tente adicionar o construtor nela:

public MessageDiplayer(String from,String body) {
   
     this.fromUser = from;
     this.messageBody = body; 

}
Raafer

Mas ja tem o construtor

public String MessageDiplayer(String from,String body) { fromUser = from; messageBody = body; }

Roger75

Raafer:
Mas ja tem o construtor

public String MessageDiplayer(String from,String body) { fromUser = from; messageBody = body; }

Não tem não. Construtor não tem retorno.

Criado 14 de maio de 2007
Ultima resposta 14 de mai. de 2007
Respostas 4
Participantes 4