Como fazer para fazer system.ou.println em uma janela?java
6 respostas
M
mengaopp
eu sou novo no java, eu criei uma janela com o seguinte código
importjava.awt.Color;importjava.awt.Font;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JOptionPane;publicclasssolojob{publicstaticvoidmain(String[]args){JLabellabel=newJLabel("ola, sou uma janela em Java.",JLabel.CENTER);label.setFont(newFont("Calibri",Font.BOLD,40));label.setForeground(Color.white);// JanelaJFramejanela=newJFrame();janela.setSize(700,700);janela.getContentPane().setBackground(newColor(200,30,50));janela.add(label);janela.setVisible(true);}}
eu nao sei como fazer um System.out.println na janela.
Lucas_Camara
Isso não é o tipo de coisa que vc faz ao usar uma janela do java swing. Geralmente vc usa um JLabel para apresentar o texto na tela. Pode ser um JLabel, JTextField, etc.
System.out.println é geralmente usado para apresentar informações no console mesmo.
Jonathan_Medeiros
System.out e System.err são saídas para o SO, só é possível visualizar via console.
Para imprimir informações em telas com Swing você pode utilizar as sugestões que o @Lucas_Camara respondeu acima ou utilizar um JOptionPane.
Lucas_Camara1 like
@Jonathan_Medeiros verdade mano. Nem tava lembrando do JOptionPane. Parece ser a melhor opção para ele nesse caso.
Henrique_Guilherme
Como os rapazes @Lucas_Camara e @Jonathan_Medeiros falaram, se tu quiser exibir ao usuário a mensagem através de uma POO, deverá usar os mais diversos métodos como .setText() em um jLabel, jTextField, jTextArea e por aí vai… (Como tu fez em seu jLabel)
Se eu entendi bem, seu objetivo é “exibir ao usuário uma mensagem e/ou trabalhar com um suposto dialogo entre ambos” , que se torna mais prático (agora de inicio) a utilização do jOptionPane.
Para utilizar o jOptionPane em seu código faça:
Stringresp=jOptionPane.showImputDialog("Qual o seu nome?");
E assim você poderá trabalhar com ele em diversas situações, como caixa de diálogos, mensagens de erros, solicitar informação (como está acima solicitando o nome) e por aí vai.
Você também pode estender um OutputStream e sobrescrever os métodos para “imprimir” em um TextComponent qualquer.
Aí basta fazer um System.setOut passando um objeto desse OutputStream especializado.