Como fazer para fazer system.ou.println em uma janela?java

eu sou novo no java, eu criei uma janela com o seguinte código

import java.awt.Color;
import java.awt.Font;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;

public class solojob {

  public static void main(String[] args) {
    JLabel label = new JLabel("ola, sou uma janela em Java.", JLabel.CENTER);
    label.setFont(new Font("Calibri", Font.BOLD, 40));
    label.setForeground(Color.white);
    
    // Janela
    JFrame janela = new JFrame();
    janela.setSize(700, 700);
    janela.getContentPane().setBackground(new Color(200, 30, 50));
    janela.add(label);
    janela.setVisible(true);	
  }
}

eu nao sei como fazer um System.out.println na janela.

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.

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.

@Jonathan_Medeiros verdade mano. Nem tava lembrando do JOptionPane. Parece ser a melhor opção para ele nesse caso.

1 curtida

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:

String resp = 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.

No link a seguir está agregado todas suas funcionalidades de forma simples: Javax.Swing.JOptionPane – Conhecendo e utilizando a classe JOptionPane | Bruno Augusto (wordpress.com)

Ou se preferir, pode ver diretamente sua documentação na Oracle:
JOptionPane (Plataforma Java SE 7 ) (oracle.com)

Espero ter ajudado :smiley:

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.