binhole
Fevereiro 26, 2009, 2:08pm
#1
Por favor estou tentando gerar uma barra de rolagem automática quando exceder o espaço em minha JTextArea e ir aumentando automáticamente… dentro do método EditText(String); que é chamado por outra classe com o parametro do texto à ser inserido…
coloquei o método jTextArea.setCaretPosition( jTextArea.getText().length() ); após inserir o texto… mesmo assim não tá funcionando o que eu fiz de errado? alguém pode me ajudar
Prompt
package IGrafica_Services;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JTextArea;
import java.awt.Rectangle;
import javax.swing.JTextField;
import java.awt.SystemColor;
import java.awt.event.KeyEvent;
import java.util.ArrayList;
import javax.swing.JLabel;
import conexao.prototipo.NewCliente;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import java.awt.Font;
import javax.swing.JScrollBar;
import javax.swing.text.BadLocationException;
public class Prompt extends MonitorPress {
private static final long serialVersionUID = 1L;
NewCliente ObjCliente = new NewCliente(); // @jve:decl-index=0:
private JFrame jFrame = null;
private JPanel jContentPane = null;
private JTextArea jTextArea = null;
Dimension t = Toolkit.getDefaultToolkit().getScreenSize(); // @jve:decl-index=0:
private JTextField Comando = null;
private JLabel jLabel = null;
private JLabel conectado = null;
private String line; // @jve:decl-index=0:
private void JFrame() {
jFrame = new JFrame();
jFrame.setSize(new Dimension(677, 463));
jFrame.setTitle("Prompt Remoto");
jFrame.setResizable(false);
jFrame.setIconImage(Toolkit.getDefaultToolkit().getImage("C:/Documents and Settings/cleber.goncalves/workspace/Monitor Services 2.0/src/IGrafica_Services/icons/application_xp_terminal.png"));
jFrame.setContentPane(getJContentPane());
}
private JPanel getJContentPane() {
if (jContentPane == null) {
conectado = new JLabel();
conectado.setBounds(new Rectangle(1, 37, 410, 17));
conectado.setIcon(new ImageIcon("C:/Documents and Settings/cleber.goncalves/workspace/Monitor Services 2.0/src/IGrafica_Services/icons/computer_link.png"));
conectado.setForeground(SystemColor.desktop);
conectado.setText("");
jLabel = new JLabel();
jLabel.setBounds(new Rectangle(270, 7, 118, 22));
jLabel.setIcon(new ImageIcon("C:/Documents and Settings/cleber.goncalves/workspace/Monitor Services 2.0/src/IGrafica_Services/icons/application_osx_terminal.png"));
jLabel.setForeground(SystemColor.desktop);
jLabel.setText("Prompt Remoto");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.setBackground(new Color(147, 169, 189));
jContentPane.add(getJTextArea(), null);
jContentPane.add(getComando(), null);
jContentPane.add(jLabel, null);
jContentPane.add(conectado, null);
jContentPane.add(getEnviacmd(), null);
jContentPane.add(getscrool(), null);
}
return jContentPane;
}
public Prompt(){
JFrame();
jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
jFrame.setVisible(true);
jFrame.setLocation((t.width - 677)/2 , (t.height - 463)/2);
conectado.setText("Conectado : " + super.Ip + " , " + super.porta );
}
private JTextArea getJTextArea() {
if (jTextArea == null) {
jTextArea = new JTextArea();
jTextArea.setBounds(new Rectangle(1, 59, 668, 342));
jTextArea.setEnabled(true);
jTextArea.setBackground(SystemColor.controlText);
jTextArea.setForeground(SystemColor.window);
jTextArea.setFont(new Font("Dialog", Font.PLAIN, 11));
jTextArea.setEditable(false);
jTextArea.setLineWrap( true ); //muda de linha automatico
}
return jTextArea;
}
private JScrollPane getscrool() {
if (scrool == null) {
scrool.setBackground(Color.white);
scrool.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
scrool.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS );
}
return scrool;
}
private JTextField getComando() {
if (Comando == null) {
Comando = new JTextField();
Comando.setBounds(new Rectangle(2, 401, 649, 30));
Comando.setBackground(SystemColor.info);
Comando.addKeyListener(new java.awt.event.KeyListener() {
public void keyReleased(java.awt.event.KeyEvent e) {
int code = e.getKeyCode();
if(code == KeyEvent.VK_ENTER){
ProcessoEnviar();
}
}
public void keyTyped(java.awt.event.KeyEvent e) {
}
public void keyPressed(java.awt.event.KeyEvent e) {
}
});
}
return Comando;
}
String g = ""; // @jve:decl-index=0:
private JButton jButton = null;
private JButton enviacmd = null;
JScrollPane scrool = new JScrollPane(jTextArea);
public void EditText(String line2){
jTextArea.append(" \n" + line2);
jTextArea.setCaretPosition( jTextArea.getText().length() );
}
public void ProcessoEnviar(){
new Thread(){
public void run(){
ObjCliente.ExecutarConexao(Comando.getText());
Comando.setText("");
}
}.start();
}
/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(397, 403, 0, 0));
}
return jButton;
}
/**
* This method initializes enviacmd
*
* @return javax.swing.JButton
*/
private JButton getEnviacmd() {
if (enviacmd == null) {
enviacmd = new JButton();
enviacmd.setBounds(new Rectangle(650, 401, 19, 31));
enviacmd.setBackground(Color.black);
enviacmd.setIcon(new ImageIcon("C:/Documents and Settings/cleber.goncalves/workspace/Monitor Services 2.0/src/IGrafica_Services/icons/bullet_go.png"));
enviacmd.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
ProcessoEnviar();
}
});
}
return enviacmd;
}
}
Adicione o JTextArea a um JScrollPane.
Pra falar bem a verdade, não li o seu código :lol:
Mas isso geralmente funciona.
Exemplo:
JTextArea textArea = new JTextArea();
JScrollPane scrollPane = new JScrollPane(textArea, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
binhole
Fevereiro 26, 2009, 3:56pm
#3
olha cara… tentei implementar desta forma mas não deu certo… por favor pode me dar um auxilio baseando em meu código…? obrigado
binhole
Fevereiro 26, 2009, 4:05pm
#4
Pra evitar das pessoas terem que ler todo o código eu simplifiquei apenas com os métodos que preciso de orientação, utilizando a sugestão acima, apresenta o seguinte erro :
IWAV0052E Invocation Target Exception creating IGrafica_Services.Prompt
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at org.eclipse.ve.internal.java.vce.launcher.remotevm.JFCLauncher$1.run(JFCLauncher.java:59)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Caused by: java.lang.NullPointerException
at IGrafica_Services.Prompt.getscrool(Prompt.java:101)
at IGrafica_Services.Prompt.getJContentPane(Prompt.java:71)
at IGrafica_Services.Prompt.JFrame(Prompt.java:46)
at IGrafica_Services.Prompt.<init>(Prompt.java:78)
... 12 more
Forma simplificada para leitura
private JScrollPane getscrool() {
if (scrool == null) {
scrool.setBackground(Color.white);
scrool = new JScrollPane(jTextArea, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
}
return scrool;
}
private JTextArea getJTextArea() {
if (jTextArea == null) {
jTextArea = new JTextArea();
jTextArea.setBounds(new Rectangle(1, 59, 668, 342));
jTextArea.setEnabled(true);
jTextArea.setBackground(SystemColor.controlText);
jTextArea.setForeground(SystemColor.window);
jTextArea.setFont(new Font("Dialog", Font.PLAIN, 11));
jTextArea.setEditable(false);
jTextArea.setLineWrap( true ); //muda de linha automatico
}
return jTextArea;
}
private JPanel getJContentPane() {
if (jContentPane == null) {
conectado = new JLabel();
conectado.setBounds(new Rectangle(1, 37, 410, 17));
conectado.setIcon(new ImageIcon("C:/Documents and Settings/cleber.goncalves/workspace/Monitor Services 2.0/src/IGrafica_Services/icons/computer_link.png"));
conectado.setForeground(SystemColor.desktop);
conectado.setText("");
jLabel = new JLabel();
jLabel.setBounds(new Rectangle(270, 7, 118, 22));
jLabel.setIcon(new ImageIcon("C:/Documents and Settings/cleber.goncalves/workspace/Monitor Services 2.0/src/IGrafica_Services/icons/application_osx_terminal.png"));
jLabel.setForeground(SystemColor.desktop);
jLabel.setText("Prompt Remoto");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.setBackground(new Color(147, 169, 189));
jContentPane.add(getJTextArea(), null);
jContentPane.add(getComando(), null);
jContentPane.add(jLabel, null);
jContentPane.add(conectado, null);
jContentPane.add(getEnviacmd(), null);
jContentPane.add(getscrool(), null);
}
return jContentPane;
}
public void EditText(String line2){
jTextArea.append(" \n" + line2);
jTextArea.setCaretPosition( jTextArea.getText().length() );
}
binhole
Fevereiro 26, 2009, 6:42pm
#5
Além do davidtiagoconceicao, mas alguém pode me ajudar?
esqure
Fevereiro 26, 2009, 10:35pm
#6
Ola amigo estava olhando seu codigo e o seguinte:
[code] private JScrollPane getscrool() {
if (scrool == null) {
Se scroll e nulo deveria criar um :
scrool = new JScrollPane ():
scrool.setBackground(Color.white);
scrool.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
scrool.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS );
}
return scrool;
}
[/code]
Tentai ai qualquer coisa me fala …
binhole
Fevereiro 27, 2009, 1:10pm
#7
esqure obrigado cara… o
olha agora não tá apresentando mais o erro que informei acima… porém ainda não tá gerando a barra de rolagem automática segue como está o código agora.
private JPanel getJContentPane() {
if (jContentPane == null) {
conectado = new JLabel();
conectado.setBounds(new Rectangle(1, 37, 410, 17));
conectado.setIcon(new ImageIcon("C:/Documents and Settings/cleber.goncalves/workspace/Monitor Services 2.0/src/IGrafica_Services/icons/computer_link.png"));
conectado.setForeground(SystemColor.desktop);
conectado.setText("");
jLabel = new JLabel();
jLabel.setBounds(new Rectangle(270, 7, 118, 22));
jLabel.setIcon(new ImageIcon("C:/Documents and Settings/cleber.goncalves/workspace/Monitor Services 2.0/src/IGrafica_Services/icons/application_osx_terminal.png"));
jLabel.setForeground(SystemColor.desktop);
jLabel.setText("Prompt Remoto");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.setBackground(new Color(147, 169, 189));
jContentPane.add(getJTextArea(), null);
jContentPane.add(getComando(), null);
jContentPane.add(jLabel, null);
jContentPane.add(conectado, null);
jContentPane.add(getEnviacmd(), null);
jContentPane.add(getscrool(), null);
}
return jContentPane;
}
private JTextArea getJTextArea() {
if (jTextArea == null) {
jTextArea = new JTextArea();
jTextArea.setBounds(new Rectangle(1, 59, 668, 342));
jTextArea.setEnabled(true);
jTextArea.setBackground(SystemColor.controlText);
jTextArea.setForeground(SystemColor.window);
jTextArea.setFont(new Font("Dialog", Font.PLAIN, 11));
jTextArea.setEditable(false);
jTextArea.setLineWrap( true ); //muda de linha automatico
}
return jTextArea;
}
private JScrollPane getscrool() {
if (scrool == null) {
scrool = new JScrollPane();
scrool.setBackground(Color.white);
scrool.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
scrool.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS );
}
return scrool;
}
public void EditText(String line2){
jTextArea.append(" \n" + line2);
jTextArea.setCaretPosition( jTextArea.getText().length() );
}
ele escreve a cada chamada de método EditText normalmente no jTextArea, porém ainda não tá gerando a barra de rolagem?
esqure
Fevereiro 27, 2009, 7:16pm
#8
Sugestão:
Faça isso e se de certo me fala …
com Base no primeiro post faça:
Apague esse linha !!!
136| JScrollPane scrool = new JScrollPane(jTextArea);
Adicione na Linha abaixo da linha 99
100| JScrollPane scrool = new JScrollPane(jTextArea);
Altere
50| private JPanel getJContentPane()
para
50| private Container getJContentPane()
Altere
32| private JPanel jContentPane = null;
para
32| private Container jContentPane = null;
Altere
62| jContentPane = new JPanel();
para
62| jContentPane;
importe
import java.awt.Container
binhole
Fevereiro 27, 2009, 7:43pm
#9
Obrigado até agora cara… segue o erro que é apresentado agora após alteração do código.
IWAV0052E Invocation Target Exception creating IGrafica_Services.Prompt
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at org.eclipse.ve.internal.java.vce.launcher.remotevm.JFCLauncher$1.run(JFCLauncher.java:59)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Caused by: java.lang.Error: Unresolved compilation problem:
Syntax error, insert "AssignmentOperator Expression" to complete Expression
at IGrafica_Services.Prompt.getJContentPane(Prompt.java:64)
at IGrafica_Services.Prompt.JFrame(Prompt.java:47)
at IGrafica_Services.Prompt.<init>(Prompt.java:79)
... 12 more
Classe Prompt após alteração
package IGrafica_Services;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JTextArea;
import java.awt.Rectangle;
import javax.swing.JTextField;
import java.awt.SystemColor;
import java.awt.event.KeyEvent;
import java.util.ArrayList;
import javax.swing.JLabel;
import conexao.prototipo.NewCliente;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import java.awt.Font;
import javax.swing.JScrollBar;
import javax.swing.text.BadLocationException;
public class Prompt extends MonitorPress {
private static final long serialVersionUID = 1L;
NewCliente ObjCliente = new NewCliente(); // @jve:decl-index=0:
private JFrame jFrame = null;
private Container jContentPane = null;
private JTextArea jTextArea = null;
Dimension t = Toolkit.getDefaultToolkit().getScreenSize(); // @jve:decl-index=0:
private JTextField Comando = null;
private JLabel jLabel = null;
private JLabel conectado = null;
private String line; // @jve:decl-index=0:
private JScrollPane scrool;
private void JFrame() {
jFrame = new JFrame();
jFrame.setSize(new Dimension(677, 463));
jFrame.setTitle("Prompt Remoto");
jFrame.setResizable(false);
jFrame.setIconImage(Toolkit.getDefaultToolkit().getImage("C:/Documents and Settings/cleber.goncalves/workspace/Monitor Services 2.0/src/IGrafica_Services/icons/application_xp_terminal.png"));
jFrame.setContentPane(getJContentPane());
}
private Container getJContentPane() {
if (jContentPane == null) {
conectado = new JLabel();
conectado.setBounds(new Rectangle(1, 37, 410, 17));
conectado.setIcon(new ImageIcon("C:/Documents and Settings/cleber.goncalves/workspace/Monitor Services 2.0/src/IGrafica_Services/icons/computer_link.png"));
conectado.setForeground(SystemColor.desktop);
conectado.setText("");
jLabel = new JLabel();
jLabel.setBounds(new Rectangle(270, 7, 118, 22));
jLabel.setIcon(new ImageIcon("C:/Documents and Settings/cleber.goncalves/workspace/Monitor Services 2.0/src/IGrafica_Services/icons/application_osx_terminal.png"));
jLabel.setForeground(SystemColor.desktop);
jLabel.setText("Prompt Remoto");
jContentPane;
jContentPane.setLayout(null);
jContentPane.setBackground(new Color(147, 169, 189));
jContentPane.add(getJTextArea(), null);
jContentPane.add(getComando(), null);
jContentPane.add(jLabel, null);
jContentPane.add(conectado, null);
jContentPane.add(getEnviacmd(), null);
jContentPane.add(getscrool(), null);
}
return jContentPane;
}
public Prompt(){
JFrame();
jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
jFrame.setVisible(true);
jFrame.setLocation((t.width - 677)/2 , (t.height - 463)/2);
conectado.setText("Conectado : " + super.Ip + " , " + super.porta );
}
private JTextArea getJTextArea() {
if (jTextArea == null) {
jTextArea = new JTextArea();
jTextArea.setBounds(new Rectangle(1, 59, 668, 342));
jTextArea.setEnabled(true);
jTextArea.setBackground(SystemColor.controlText);
jTextArea.setForeground(SystemColor.window);
jTextArea.setFont(new Font("Dialog", Font.PLAIN, 11));
jTextArea.setEditable(false);
jTextArea.setLineWrap( true ); //muda de linha automatico
}
return jTextArea;
}
private JScrollPane getscrool() {
if (scrool == null) {
JScrollPane scrool = new JScrollPane(jTextArea);
scrool.setBackground(Color.white);
scrool.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
scrool.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS );
}
return scrool;
}
private JTextField getComando() {
if (Comando == null) {
Comando = new JTextField();
Comando.setBounds(new Rectangle(2, 401, 649, 30));
Comando.setBackground(SystemColor.info);
Comando.addKeyListener(new java.awt.event.KeyListener() {
public void keyReleased(java.awt.event.KeyEvent e) {
int code = e.getKeyCode();
if(code == KeyEvent.VK_ENTER){
ProcessoEnviar();
}
}
public void keyTyped(java.awt.event.KeyEvent e) {
}
public void keyPressed(java.awt.event.KeyEvent e) {
}
});
}
return Comando;
}
String g = ""; // @jve:decl-index=0:
private JButton jButton = null;
private JButton enviacmd = null;
public void EditText(String line2){
jTextArea.append(" \n" + line2);
jTextArea.setCaretPosition( jTextArea.getText().length() );
}
public void ProcessoEnviar(){
new Thread(){
public void run(){
ObjCliente.ExecutarConexao(Comando.getText());
Comando.setText("");
}
}.start();
}
/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(397, 403, 0, 0));
}
return jButton;
}
/**
* This method initializes enviacmd
*
* @return javax.swing.JButton
*/
private JButton getEnviacmd() {
if (enviacmd == null) {
enviacmd = new JButton();
enviacmd.setBounds(new Rectangle(650, 401, 19, 31));
enviacmd.setBackground(Color.black);
enviacmd.setIcon(new ImageIcon("C:/Documents and Settings/cleber.goncalves/workspace/Monitor Services 2.0/src/IGrafica_Services/icons/bullet_go.png"));
enviacmd.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
ProcessoEnviar();
}
});
}
return enviacmd;
}
}
esqure
Fevereiro 27, 2009, 8:52pm
#10
Parece que faltou um pequeno detalhe —>
Altere
64| jContentPane;
para
64| jContentPane = jFrame.getContentPane();
Tenta ai e me fala …
binhole
Fevereiro 27, 2009, 10:30pm
#11
[quote=esqure]Parece que faltou um pequeno detalhe —>
Altere
64| jContentPane;
para
64| jContentPane = jFrame.getContentPane();
Tenta ai e me fala …
[/quote]
Puts, ainda nd o erro que apresenta agora é o que segue… ?
IWAV0052E Invocation Target Exception creating IGrafica_Services.Prompt
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.eclipse.ve.internal.java.vce.launcher.remotevm.JFCLauncher$1.run(JFCLauncher.java:59)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.NullPointerException
at java.awt.Container.addImpl(Container.java:1041)
at java.awt.Container.add(Container.java:927)
at IGrafica_Services.Prompt.getJContentPane(Prompt.java:72)
at IGrafica_Services.Prompt.JFrame(Prompt.java:47)
at IGrafica_Services.Prompt.<init>(Prompt.java:79)
... 13 more
esqure
Fevereiro 28, 2009, 7:53am
#12
Testei seu codigo aqui e executou sem problema e o seguinte :
na linha
103| JScrollPane scrool = new JScrollPane(jTextArea);
vc muda para
103| scrool = new JScrollPane(jTextArea);
O que você está usando para fazer sua interface? É algum plugin? Se for, isso é um erro de carregamento do plugin e não da sua aplicação (que deve funcionar normalmente).
binhole
Fevereiro 28, 2009, 12:02pm
#14
agora rodou legal cara, o unico problema que o JTextArea desapareceu, mesmo eu criando uma outra classe sem utilizar o plugin (VEP)? quando vcs rodaram aparecem o jTextArea?
Por favor pessoal, eu estou a mais de 1 semana tentando exibir o JtextArea, o pessoal me ajudou, mas ao tentar incluir o Scrool simplesmente a JtextArea sumiu… alguém?
Pessoal só uma observação, eu fiz um teste pra saber se o plugin VEP que uso estava interferindo em algo ao executar a aplicação comentando os as linhas da classe prompt que adicionava o scrool à interface gráfica, funcionou perfeitamente…
segue a classe executando normalmente, porém sem o scrool automático…
package IGrafica_Services;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JTextArea;
import java.awt.Rectangle;
import javax.swing.JTextField;
import java.awt.SystemColor;
import java.awt.event.KeyEvent;
import java.util.ArrayList;
import javax.swing.JLabel;
import conexao.prototipo.NewCliente;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import java.awt.Font;
import javax.swing.JScrollBar;
import javax.swing.text.BadLocationException;
public class Prompt extends ActiveMonitor {
private static final long serialVersionUID = 1L;
NewCliente ObjCliente = new NewCliente(); // @jve:decl-index=0:
private JFrame jFrame = null;
private Container jContentPane = null;
private JTextArea jTextArea = null;
Dimension t = Toolkit.getDefaultToolkit().getScreenSize(); // @jve:decl-index=0:
private JTextField Comando = null;
private JLabel jLabel = null;
private JLabel conectado = null;
private String line; // @jve:decl-index=0:
private JScrollPane scrool;
private void JFrame() {
jFrame = new JFrame();
jFrame.setSize(new Dimension(677, 463));
jFrame.setTitle("Prompt Remoto");
jFrame.setResizable(false);
jFrame.setIconImage(Toolkit.getDefaultToolkit().getImage("C:/Documents and Settings/cleber.goncalves/workspace/Monitor Services 2.0/src/IGrafica_Services/icons/application_xp_terminal.png"));
jFrame.setContentPane(getJContentPane());
}
private Container getJContentPane() {
if (jContentPane == null) {
conectado = new JLabel();
conectado.setBounds(new Rectangle(1, 37, 410, 17));
conectado.setIcon(new ImageIcon("C:/Documents and Settings/cleber.goncalves/workspace/Monitor Services 2.0/src/IGrafica_Services/icons/computer_link.png"));
conectado.setForeground(SystemColor.desktop);
conectado.setText("");
jLabel = new JLabel();
jLabel.setBounds(new Rectangle(270, 7, 118, 22));
jLabel.setIcon(new ImageIcon("C:/Documents and Settings/cleber.goncalves/workspace/Monitor Services 2.0/src/IGrafica_Services/icons/application_osx_terminal.png"));
jLabel.setForeground(SystemColor.desktop);
jLabel.setText("Prompt Remoto");
jContentPane = jFrame.getContentPane();
jContentPane.setLayout(null);
jContentPane.setBackground(new Color(147, 169, 189));
jContentPane.add(getJTextArea(), null);
jContentPane.add(getComando(), null);
jContentPane.add(jLabel, null);
jContentPane.add(conectado, null);
jContentPane.add(getEnviacmd(), null);
// jContentPane.add(getscrool(), null);
}
return jContentPane;
}
public Prompt(){
JFrame();
jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
jFrame.setVisible(true);
jFrame.setLocation((t.width - 677)/2 , (t.height - 463)/2);
conectado.setText("Conectado : " + super.Ip + " , " + super.porta );
}
private JTextArea getJTextArea() {
if (jTextArea == null) {
jTextArea = new JTextArea();
jTextArea.setBounds(new Rectangle(1, 59, 668, 342));
jTextArea.setEnabled(true);
jTextArea.setBackground(SystemColor.controlText);
jTextArea.setForeground(SystemColor.window);
jTextArea.setFont(new Font("Dialog", Font.PLAIN, 11));
jTextArea.setEditable(false);
jTextArea.setLineWrap( true ); //muda de linha automatico
}
return jTextArea;
}
/* private JScrollPane getscrool() {
if (scrool == null) {
scrool = new JScrollPane(jTextArea);
scrool.setBackground(Color.white);
scrool.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
scrool.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS );
}
return scrool;
} */
private JTextField getComando() {
if (Comando == null) {
Comando = new JTextField();
Comando.setBounds(new Rectangle(2, 401, 649, 30));
Comando.setBackground(SystemColor.info);
Comando.addKeyListener(new java.awt.event.KeyListener() {
public void keyReleased(java.awt.event.KeyEvent e) {
int code = e.getKeyCode();
if(code == KeyEvent.VK_ENTER){
ProcessoEnviar();
}
}
public void keyTyped(java.awt.event.KeyEvent e) {
}
public void keyPressed(java.awt.event.KeyEvent e) {
}
});
}
return Comando;
}
String g = ""; // @jve:decl-index=0:
private JButton jButton = null;
private JButton enviacmd = null;
public void EditText(String line2){
jTextArea.append(" \n" + line2);
jTextArea.setCaretPosition( jTextArea.getText().length() );
}
public void ProcessoEnviar(){
new Thread(){
public void run(){
ObjCliente.ExecutarConexao(Comando.getText());
Comando.setText("");
}
}.start();
}
/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(397, 403, 0, 0));
}
return jButton;
}
/**
* This method initializes enviacmd
*
* @return javax.swing.JButton
*/
private JButton getEnviacmd() {
if (enviacmd == null) {
enviacmd = new JButton();
enviacmd.setBounds(new Rectangle(650, 401, 19, 31));
enviacmd.setBackground(Color.black);
enviacmd.setIcon(new ImageIcon("C:/Documents and Settings/cleber.goncalves/workspace/Monitor Services 2.0/src/IGrafica_Services/icons/bullet_go.png"));
enviacmd.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
ProcessoEnviar();
}
});
}
return enviacmd;
}
}
Obrigado a todos, consegui resolver o problema…