Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [Java] JTextArea per input e output

    salve!
    ho creato questa classe per la connessione tramite SSH:
    codice:
    public class SshConnection {
        
        private Session session;
        private ChannelShell channel;
    
        public void getConnection(String user, String host, String password, int port) throws InterruptedException, JSchException {
            JSch jsch = new JSch();
            UserInfo ui = new MyUserInfo();
            session = jsch.getSession(user, host, port);
            session.setUserInfo(ui);
            session.setPassword(password);
            session.connect();
            channel = (ChannelShell) session.openChannel("shell");
            channel.setInputStream(System.in);
            channel.setOutputStream(System.out);
            channel.connect(3000);
            while (true) {
                if (channel.isClosed()) {
                    System.exit(channel.getExitStatus());
                } else {
                    Thread.sleep(1000);
                }
            }
        }
    }
    ora l'input e l'ouput dono da e verso la console, ma io vorrei redigere il tutto ad un JTextArea (che si trova su un JFrame nel quale già invoco questa classe).
    qualche dritta?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [Java] JTextArea per input e output

    Originariamente inviato da fermat
    codice:
    channel.setInputStream(System.in);
    channel.setOutputStream(System.out);
    ora l'input e l'ouput dono da e verso la console, ma io vorrei redigere il tutto ad un JTextArea
    Innanzitutto JTextArea non mi pare che sia molto appropriato per fare da input e anche da output allo stesso tempo. Bisognerebbe disabilitare (meglio dire: impedire) parecchie cose in JTextArea affinché possa avvicinarsi, come comportamento, a quello che fa una "console". Ammesso che sia poi tutto corretto (non ho mai provato).

    Per il fatto dei due stream, il channel li riceve con dei metodi. Invece di passare i due stream standard, dovresti implementare tu un tuo XyzInputStream e un tuo XyzOutputStream da passare ai metodi. Una questione poi è la solita del charset, quale è (o dovrebbe essere)?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    pensi che ci sia qualche componente migliore al posto di una JTextArea?

    la codifica è UTF-8.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.