Bom dia pessoal!!!
Estou com um problema e como sou novo em swing algumas dificuldades em encontrar a solução…
Quero fazer uma janela parecida com messenger… 2 caixas de texto (1 pra digitar outra pra exibir), 1 botão enviar e 1 scroll, por enquanto.
Usei JFrame e fiz 2 pannels:
textoPanel: 1 textArea com 1 scroll
envioPanel: 1 textArea e 1 botão
Meus problemas são 3:
1 - A janela abre, aparece apenas o botão embaixo, e as caixas de texto ficam praticamente “invisíveis” (a nao ser que eu predefina um texto inicial para aparecer escrito, como no código… aí o tamanho da JTextArea varia de acordo com o que está escrito), gostaria de um tamanho predefinido, se possivel nao em pixel mas em ajuste com o tamanho da janela.
2 - Quando digito algo no JTextArea do envioPanel queria que a action do botão enviar adicionasse o texto no JTextArea do textoPanel, porém o método que imaginei (add) nao é aceito.
2 - Quero digitar o texto apenas na janela do envioPanel, e quero “travar” o JTextArea do textoPanel para somente MOSTRAR o texto.
Segue abaixo o código inteiro, e o erro do meu problema 2 (do add):
[code]package gui;
import java.awt.BorderLayout;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
public class MsgWindow extends JFrame implements ActionListener {
// variáveis
private static final long serialVersionUID = 1L;
private JTextArea areaTexto = new JTextArea("CARAMBAAAAAAAAAAAAAAAAA!\n\n\n\n\n\n\n\n\n");
private JButton botaoEnvia = new JButton("Envia");
private JTextArea envioTexto = new JTextArea("Digite Aqui sua mensagem!");
private JPanel textoPanel = new JPanel();
private JPanel envioPanel = new JPanel();
private JScrollPane scroll = new JScrollPane(areaTexto);
// construtor
public MsgWindow() {
super("dpk");
this.setSize(600, 400);
this.setTitle("D-Pk");
} // fim construtor
private void montaJanela() {
// montando area de texto no textoPanel
textoPanel.setSize(300, 200); //setSize que tentei dar para ver se mudava algo
textoPanel.add(areaTexto, JPanel.TOP_ALIGNMENT);
textoPanel.add(scroll);
getContentPane().add(textoPanel, BorderLayout.NORTH);
// montando area de envio de mensagens
envioPanel.add(envioTexto);
envioPanel.add(botaoEnvia);
getContentPane().add(envioPanel, BorderLayout.SOUTH);
// adicionais
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
} // fim montaJanela
public void actionPerformed(ActionEvent e) {
//String textoMensagem = "";
if (envioTexto.getText() != "") {
areaTexto.add(envioTexto.getText());
}
} // fim action
public static void main (String args[]) {
MsgWindow msg = new MsgWindow();
msg.montaJanela();
} // fim main
} // fim class[/code]
Erro: The method add(String, Component) in the type Container is not applicable for the arguments (String)
Alguém pode me ajudar???
Obrigado!!!