777
Outubro 14, 2019, 1:02am
#1
Olá, estou fazendo um código de JavaFX, e eu quero saber como faço para:
~ Ao qualquer coisa ser enviada ao console do Java, seja erro, mensagem ou algo do tipo, ser adicionada ao um TextArea criado pelo SceneBuilder.
Obrigado para quem puder me ajudar ^^
PS: Uso o Eclipse.
111aaa
Outubro 14, 2019, 3:03am
#2
Foi baseada na informação encontrada sobre os websites
https://stackoverflow.com/questions/5107629/how-to-redirect-console-content-to-a-textarea-in-java
http://tutorials.jenkov.com/javafx/textarea.html
https://www.codejava.net/java-se/swing/redirect-standard-output-streams-to-jtextarea
https://stackoverflow.com/questions/342990/create-java-console-inside-a-gui-panel
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextArea;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class TextAreaExperiments extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("Receber informações do console");
TextArea textArea = new TextArea();
Button button = new Button("Salvar as informações obtidas?");
button.setMinWidth(50);
button.setOnAction(action -> {
System.out.println(textArea.getText());
textArea.setText("Botão clicado!");
});
VBox vbox = new VBox(textArea, button);
Scene scene = new Scene(vbox, 200, 100);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
Application.launch(args);
}
}
Mini tutorial
Pesquise sobre Message Console talvez ajude ^^
É possível através dessas linhas de código
JTextArea textArea = new JTextArea(50,10);
PrintStream printStream = new PrintStream(new CustomOutputStream(textArea));
System.setOut(printStream);
System.setErr(printStream);
777
Outubro 14, 2019, 3:24am
#3
Bom eu ja pesquisei bastante e pra mim CustomOutputStream diz que não é um tipo válido.
E o código que cê me mandou também não faz muito sentido Mas vou procurar sobre MessageConsole
111aaa
Outubro 14, 2019, 3:25am
#4
Ainda estou procurando, pesquisando; vou enviar uma resposta melhor. Ainda estou editando
777
Outubro 14, 2019, 3:27am
#5
Sim, mas, eu pesquisei muito e nada me ajudou ;/
111aaa
Outubro 14, 2019, 3:31am
#6
Vou ver o que posso fazer
111aaa
Outubro 14, 2019, 3:41am
#7
A resposta é baseada nas informações encontradas nestes websites
import java.util.Scanner;
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.TextArea;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
Scanner sc = new Scanner(System.in);
int mensagemdoconsole;
mensagemdoconsole = sc.nextInt();
public class TextAreaDemo extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
VBox root = new VBox();
root.setPadding(new Insets(10));
root.setSpacing(5);
root.getChildren().add(new Label("Mensagem recebida do console:"));
TextArea textArea = new TextArea();
root.getChildren().add(textArea);
Scene scene = new Scene(root, 320, 150);
primaryStage.setTitle("777 https://www.guj.com.br/t/passar-do-console-pro-textarea/393866");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
Application.launch(args);
}
}
Mini tutorial
Pesquise sobre Message Console talvez ajude ^^
É possível através dessas linhas de código
JTextArea textArea = new JTextArea(50,10);
PrintStream printStream = new PrintStream(new CustomOutputStream(textArea));
System.setOut(printStream);
System.setErr(printStream);
111aaa
Outubro 14, 2019, 3:43am
#8
Estou tentando como
String mensagemConsole = area.getText( mensagemdoconsole );