Example usage for javax.swing JTextArea paint

List of usage examples for javax.swing JTextArea paint

Introduction

In this page you can find the example usage for javax.swing JTextArea paint.

Prototype

public void paint(Graphics g) 

Source Link

Document

Invoked by Swing to draw components.

Usage

From source file:org.openmeetings.app.data.record.BatikMethods.java

public void drawTextByJTextArea(Graphics2D g2d, int x, int y, int width, int height, String text,
        String default_export_font, int style, int size, Color fontColor) throws Exception {

    //      g2d.setClip(x, y, width, height);
    //      g2d.setColor(Color.black);
    //      g2d.drawString(text, x, y+20);

    //Font font = new Font("Verdana", Font.PLAIN, 11);
    Font font = new Font(default_export_font, style, size);

    String[] stringsText = text.split("\r");
    //log.debug("TEXT: "+stringsText);
    //log.debug("TEXT: "+stringsText.length);

    String newText = "";

    for (int i = 0; i < stringsText.length; i++) {
        newText += stringsText[i];//from   w w w  .j  a  v  a2 s  .  co m
        if (i + 1 < stringsText.length) {
            newText += "\n";
        }
    }

    JTextArea n = new JTextArea(newText);
    n.setFont(font);
    n.setWrapStyleWord(true);
    n.setLineWrap(true);
    n.setForeground(fontColor);

    //log.debug("Text at: "+x+" "+y);
    //int x, int y, int width, int height
    n.setBounds(x, y, width, height);
    n.setOpaque(false);

    //Text
    SVGGraphics2D svgGenerator2 = (SVGGraphics2D) g2d.create(x, y, width, height);

    //svgGenerator2.create(x, y, width, height);
    //svgGenerator2.draw(.dra)
    n.paint(svgGenerator2);

}

From source file:frameworks.Masken.java

public void individuelleMaskePruefen(EDPSession session, String maskennummer, String prio, JTextArea jTLog) {
    try {//from   w w  w . j av  a  2 s. c  om
        EDPEditor edpE1 = null;
        boolean individuelleMaskeDa = false;

        edpE1 = session.createEditor();
        edpE1.beginEdit(EDPEditor.EDIT_GET, "Infosystem", "", EDPEditor.REFTYPE_NUMSW, "MASKE");
        edpE1.setFieldVal(0, "selmasknr", maskennummer);
        edpE1.setFieldVal(0, "bstart", "");
        int maxrows = edpE1.getRowCount();
        int aktrow = 1;
        // schauen ob eine individuelle Maske schon vorhanden ist
        while (aktrow <= maxrows) {
            if (edpE1.getFieldVal(aktrow, "tprio").equals(prio.toUpperCase())
                    && edpE1.getFieldVal(aktrow, "tstdmaske").equals("nein")) {
                // Individuelle Maske ist vorhanden
                individuelleMaskeDa = true;

            }
            aktrow++;
        }
        if (individuelleMaskeDa == false) {
            // wenn keine Maske vorhanden, dann individualisieren
            aktrow = 1;
            while (aktrow <= maxrows) {
                if (edpE1.getFieldVal(aktrow, "tprio").equals(prio.toUpperCase())) {
                    edpE1.setFieldVal(aktrow, "tindivid", "");
                }
                aktrow++;
            }

        }
        edpE1.endEditSave();
    } catch (CantBeginEditException ex) {
        Logger.getLogger(Masken.class.getName()).log(Level.SEVERE, null, ex);
        jTLog.append(ex.toString());
        jTLog.paint(jTLog.getGraphics());
    } catch (CantChangeFieldValException ex) {
        Logger.getLogger(Masken.class.getName()).log(Level.SEVERE, null, ex);
        jTLog.append(ex.toString());
        jTLog.paint(jTLog.getGraphics());

    } catch (CantReadFieldPropertyException ex) {
        Logger.getLogger(Masken.class.getName()).log(Level.SEVERE, null, ex);
        jTLog.append(ex.toString());
        jTLog.paint(jTLog.getGraphics());

    } catch (CantSaveException ex) {
        Logger.getLogger(Masken.class.getName()).log(Level.SEVERE, null, ex);
        jTLog.append(ex.toString());
        jTLog.paint(jTLog.getGraphics());

    }

}

From source file:frameworks.Masken.java

public boolean maskenInstall(JTable table, JTextArea jTLog, EDPSession session, String LinuxUser,
        String LinuxPass, String Host) {
    try {/* ww  w .  j av a 2 s  . c  o m*/
        ByteArrayOutputStream error = new ByteArrayOutputStream();
        StringBuilder fromServer = new StringBuilder();
        StringBuilder screenls = new StringBuilder();
        StringBuilder screenlsstring = new StringBuilder();
        String maskennummer;
        String fromServerString = "";
        String[] fromServerArray;
        String resourcesServerString = "";
        String[] resourcesServerArray;
        ArrayList datei = new ArrayList();
        String prio = "";
        String xmlziel = "";
        String resourcesziel = "";
        int masksearch = 0;
        int sshexitstatus = 0;
        File file = null;
        int zielzeile = 0;
        String tabellekopf = "";
        boolean failure = false;
        int firstcell = 0;
        int lastcell = 0;
        boolean newpanenotebook = true;

        //SSh Verbindung zum Mandanten ffnen
        SshClient sshclient = new SshClient();
        sshclient.connect(LinuxUser, LinuxPass, Host, 22);

        jTLog.append("----------Maskenimport----------\n");

        jTLog.append("Vorhandene Masken aus Mandanten ermittelt\n");
        jTLog.paint(jTLog.getGraphics());
        //Dateinamen erzeugen
        for (int i = 0; i < table.getRowCount(); i++) {
            //Fehlerflag auf true setzen
            failure = true;
            xmlziel = table.getValueAt(i, 2).toString().replace(table.getValueAt(i, 0).toString(),
                    table.getValueAt(i, 1).toString());
            xmlziel = table.getValueAt(i, 2).toString();
            resourcesziel = table.getValueAt(i, 3).toString().replace(table.getValueAt(i, 0).toString(),
                    table.getValueAt(i, 1).toString());
            maskennummer = table.getValueAt(i, 1).toString();

            // hab ich eine ZD und ein Masken TGZ?      
            if (table.getValueAt(i, 3).equals("TGZ")) {
                xmlziel = table.getValueAt(i, 2).toString();
                prio = xmlziel.substring(xmlziel.indexOf(".") + 1, xmlziel.lastIndexOf("."));
                prio = prio.substring(prio.indexOf(".") + 1, prio.length());
                // Dann kann ich die Maske einfach auf den Serverv kopieren
                file = new File(GlobalVars.dir + "\\Masken\\" + table.getValueAt(i, 2).toString());
                sshexitstatus = sshclient.sendfile(file.toString(), xmlziel);
                jTLog.append("Neue Maske " + maskennummer + prio + " wird hochgeladen\n");
                jTLog.paint(jTLog.getGraphics());
                // und importieren
                jTLog.append("Neue Maske " + maskennummer + prio + " wird im Mandanten importiert\n");
                jTLog.paint(jTLog.getGraphics());
                sshexitstatus = sshclient.sendcommand(
                        "eval `sh denv.sh`;screen_import.sh -n " + maskennummer + " -p " + prio + " " + xmlziel,
                        error, fromServer);

                // und generieren
                jTLog.append("Neue Maske " + maskennummer + prio + " wird generiert\n");
                jTLog.paint(jTLog.getGraphics());
                // Maske generieren
                maskegenerieren(session, maskennummer, prio);

                jTLog.append(error.toString());
                jTLog.paint(jTLog.getGraphics());
                // Kein ZD und kein TGZ File, also muss die Maske integriert werden
            } else {
                datei.clear();
                prio = xmlziel.substring(xmlziel.indexOf(".") + 1, xmlziel.lastIndexOf("."));
                prio = prio.substring(prio.indexOf(".") + 1, prio.indexOf("-"));
                //Tabelle oder Kopf
                tabellekopf = xmlziel.substring(xmlziel.lastIndexOf(".") - 1, xmlziel.lastIndexOf("."));
                if (tabellekopf.equals("Z")) {
                    tabellekopf = "_T.xml";
                } else {
                    tabellekopf = "_M.xml";
                }
                // Maske individualisieren falls notwendig
                individuelleMaskePruefen(session, maskennummer, prio, jTLog);
                // Maske sichern mit screen_export
                jTLog.append(
                        "Maske " + maskennummer + " " + prio + " wird gesichert und kann mit screen_import -n "
                                + maskennummer + " -p " + prio + " screen_restauriert werden\n");
                jTLog.paint(jTLog.getGraphics());
                sshexitstatus = sshclient.sendcommand(
                        "eval `sh denv.sh`;screen_export.sh -n " + maskennummer + " -p " + prio, error,
                        fromServer);

                //Tmp leeren
                File tmpdir = new File("tmp");
                if (tmpdir.exists() && (tmpdir.isDirectory())) {
                    deleteDir(tmpdir);

                }
                new File("tmp").mkdir();

                // Masken.tgz abholen
                jTLog.append("Maske " + maskennummer + " " + prio + " wird geladen\n");
                jTLog.paint(jTLog.getGraphics());
                String servermaske = "./screen." + maskennummer + "." + prio + ".tgz";

                sshexitstatus = sshclient.getfile(servermaske, "tmp\\");
                if (sshexitstatus == -1) {// Maske wurde erfolgreich geladen

                    //Maske einlesen
                    jTLog.append("Maske " + maskennummer + " " + prio + " wird ausgepackt\n");
                    jTLog.paint(jTLog.getGraphics());
                    //tgz lokal auspacken
                    uncompressTarGZ(new File("tmp\\screen." + maskennummer + "." + prio + ".tgz"),
                            new File("tmp\\"));
                    // tgz lschen
                    new File("tmp\\screen." + maskennummer + "." + prio + ".tgz").delete();
                    String changemaske = "screen_" + maskennummer + "_" + prio + tabellekopf;
                    //Maske einlesen
                    jTLog.append("Maske " + maskennummer + " " + prio + " wird erweitert\n");
                    jTLog.paint(jTLog.getGraphics());
                    BufferedReader inservermaske = null;
                    inservermaske = new BufferedReader(new FileReader("tmp\\screens\\screen_" + maskennummer
                            + "\\" + prio + "\\screen_" + maskennummer + "_" + prio + tabellekopf));
                    BufferedReader inmaske = null;
                    inmaske = new BufferedReader(
                            new FileReader(GlobalVars.dir + "\\Masken\\" + table.getValueAt(i, 2).toString()));
                    PrintWriter outservermaske = new PrintWriter(
                            new BufferedWriter(new FileWriter("tmp\\screens\\screen_" + maskennummer + "\\"
                                    + prio + "\\Xscreen_" + maskennummer + "_" + prio + tabellekopf)));
                    int lineNr = 0;
                    zielzeile = 0;
                    firstcell = 0;
                    lastcell = 0;
                    String line = inservermaske.readLine();
                    while (line != null) {

                        datei.add(line);
                        if (line.contains("<cell") && (firstcell == 0))
                            firstcell = lineNr;
                        if (line.contains("</layout.grid") && (firstcell != 0))
                            lastcell = lineNr;
                        if (line.contains("</pane.notebook>")) {
                            zielzeile = lineNr;
                            newpanenotebook = false;
                        }
                        lineNr++;

                        line = inservermaske.readLine();
                    }
                    inservermaske.close();

                    // Raus schreiben der Datei
                    for (int izeilen = 0; izeilen < lineNr - 1; izeilen++) {
                        outservermaske.print(datei.get(izeilen) + "\n");
                        if ((zielzeile == 0) && (firstcell == izeilen)) {
                            outservermaske.print(
                                    "<layout.notebook>\n<pane.notebook msgId=\"b825893d-f00a-4500-ae24-c2fe5364ae0e\">\n <layout.grid>\n"
                                            + "      <cell gridX=\"0\" gridY=\"0\">\n");
                        }
                        if ((zielzeile == 0) && (lastcell == izeilen)) {
                            outservermaske.print("</pane.notebook>\n");
                            zielzeile = izeilen;
                        }

                        if ((izeilen == zielzeile) && (zielzeile != 0)) {
                            line = inmaske.readLine();
                            while (line != null) {
                                // Zuerst die Datei einlesen und jede Zeile raus schreiben
                                outservermaske.print(line + "\n");
                                line = inmaske.readLine();

                            }
                            if (newpanenotebook)
                                outservermaske.print("</layout.notebook>\n </cell>\n </layout.grid> \n");
                        }
                    }
                    outservermaske.close();

                    // Neue Datei nun auf die alte kopieren
                    Files.move(
                            Paths.get("tmp\\screens\\screen_" + maskennummer + "\\" + prio + "\\Xscreen_"
                                    + maskennummer + "_" + prio + tabellekopf),
                            Paths.get("tmp\\screens\\screen_" + maskennummer + "\\" + prio + "\\screen_"
                                    + maskennummer + "_" + prio + tabellekopf),
                            REPLACE_EXISTING);

                    // Resources Dateien anschauen
                    // Append an die Resources.language
                    // sshexitstatus = sshclient.sendcommand("cat  ./screens/screen_" + maskennummer + "/" + prio + "/ResourcesFW  >> ./screens/screen_" + maskennummer + "/" + prio + "/Resources.language", error, fromServer);
                    String resourcesstring = FileUtils.readFileToString(
                            new File(GlobalVars.dir + "\\Masken\\" + table.getValueAt(i, 3).toString()),
                            "utf-8");
                    FileWriter fw = new FileWriter(new File(
                            "tmp\\screens\\screen_" + maskennummer + "\\" + prio + "\\Resources.language"),
                            true);
                    fw.write(resourcesstring);//appends the string to the file
                    if (newpanenotebook)
                        fw.write("b825893d-f00a-4500-ae24-c2fe5364ae0e=Allgemein\n");
                    fw.close();
                    //An Resources_*  den String auch noch anhngen
                    // dazu erst mal die Dateien suchen
                    Path dir = Paths.get("tmp\\screens\\screen_" + maskennummer + "\\" + prio);
                    try (DirectoryStream<Path> stream = Files.newDirectoryStream(dir, "Resources_*")) {
                        for (Path resourcesfile : stream) {
                            fw = new FileWriter(resourcesfile.toFile(), true);
                            fw.write(resourcesstring);//appends the string to the file
                            if (newpanenotebook)
                                fw.write("b825893d-f00a-4500-ae24-c2fe5364ae0e=Allgemein\n");
                            fw.close();
                        }
                    }

                    // Tgz wieder erzeugen
                    createTarGzip("tmp\\", "tmp\\screen." + maskennummer + "." + prio + ".tgz");
                    // Maske wieder auf Server schieben

                    sshexitstatus = sshclient.sendfile("\\tmp\\screen." + maskennummer + "." + prio + ".tgz",
                            "screen." + maskennummer + "." + prio + ".tgz");
                    jTLog.append("Neue Maske " + maskennummer + prio + " wird hochgeladen\n");
                    jTLog.paint(jTLog.getGraphics());
                    // und importieren
                    jTLog.append("Neue Maske " + maskennummer + prio + " wird im Mandanten importiert\n");
                    jTLog.paint(jTLog.getGraphics());
                    sshexitstatus = sshclient
                            .sendcommand(
                                    "eval `sh denv.sh`;screen_import.sh -n " + maskennummer + " -p " + prio
                                            + " " + "screen." + maskennummer + "." + prio + ".tgz",
                                    error, fromServer);

                    // und generieren
                    jTLog.append("Neue Maske " + maskennummer + prio + " wird generiert\n");
                    jTLog.paint(jTLog.getGraphics());
                    // Maske generieren
                    maskegenerieren(session, maskennummer, prio);

                    jTLog.append(error.toString());
                    jTLog.paint(jTLog.getGraphics());

                }
                /*
                //Alter Weg
                // Maske abholen
                jTLog.append("Maske " + maskennummer + " " + prio + " wird geladen\n");
                jTLog.paint(jTLog.getGraphics());
                //String servermaske = "./screens/screen_" + maskennummer + "/" + prio + "/screen_" + maskennummer + "_" + prio + "_M.xml";
                servermaske = "./screens/screen_" + maskennummer + "/" + prio + "/screen_" + maskennummer + "_" + prio + tabellekopf;
                        
                sshexitstatus = sshclient.getfile(servermaske, "tmp\\" + maskennummer + prio + ".xml");
                if (sshexitstatus == -1) {// Maske wurde erfolgreich geladen
                //Maske einlesen
                jTLog.append("Maske " + maskennummer + " " + prio + " wird erweitert\n");
                jTLog.paint(jTLog.getGraphics());
                        
                BufferedReader inservermaske = null;
                inservermaske = new BufferedReader(new FileReader("tmp\\" + maskennummer + prio + ".xml"));
                BufferedReader inmaske = null;
                inmaske = new BufferedReader(new FileReader(GlobalVars.dir + "\\Masken\\" + table.getValueAt(i, 2).toString()));
                PrintWriter outservermaske = new PrintWriter(new BufferedWriter(new FileWriter("tmp\\" + maskennummer + prio + "X.xml")));
                int lineNr = 0;
                String line = inservermaske.readLine();
                while (line != null) {
                        
                    datei.add(line);
                        
                    if (line.contains("</pane.notebook>")) {
                        zielzeile = lineNr;
                    }
                    lineNr++;
                        
                    line = inservermaske.readLine();
                }
                inservermaske.close();
                        
                // Raus schreiben der Datei
                for (int izeilen = 0; izeilen < lineNr - 1; izeilen++) {
                    outservermaske.print(datei.get(izeilen) + "\n");
                    if (izeilen == zielzeile) {
                        line = inmaske.readLine();
                        while (line != null) {
                            // Zuerst die Datei einlesen und jede Zeile raus schreiben
                            outservermaske.print(line + "\n");
                            line = inmaske.readLine();
                        
                        }
                    }
                }
                outservermaske.close();
                        
                //Datei zurck zum server schicken
                jTLog.append("Maske " + maskennummer + " " + prio + " wird gesendet\n");
                jTLog.paint(jTLog.getGraphics());
                sshexitstatus = sshclient.sendfile("tmp\\" + maskennummer + prio + "X.xml", servermaske);
                if (sshexitstatus == -1) {// Maske wurde auf Server bertragen
                    // Jetzt noch die Resources Datei an die Resources auf dem server anhngen
                    sshexitstatus = sshclient.sendfile(GlobalVars.dir + "\\Masken\\" + table.getValueAt(i, 3).toString(), "./screens/screen_" + maskennummer + "/" + prio + "/ResourcesFW");
                    if (sshexitstatus == -1) {
                        sshexitstatus = sshclient.sendcommand("cat  ./screens/screen_" + maskennummer + "/" + prio + "/ResourcesFW  >> ./screens/screen_" + maskennummer + "/" + prio + "/Resources.language", error, fromServer);
                        //Resources wurde auf Server bertragen  
                         jTLog.append(error.toString());
                        jTLog.paint(jTLog.getGraphics());
                        if (sshexitstatus==0)
                        {
                           sshexitstatus = sshclient.sendcommand("ls screens/screen_" + maskennummer + "/" + prio + "/Resources_* -l", error, fromServer);
                           jTLog.append(error.toString());
                            jTLog.paint(jTLog.getGraphics());
                        if (sshexitstatus == 0) {
                                    
                            resourcesServerString = fromServer.toString();
                            resourcesServerArray = resourcesServerString.split("\n");
                            ///Bisher alles gut gelaufen, deswegen failure auf false setzen
                            failure = false;
                            for (int iresources = 0; iresources < resourcesServerArray.length; iresources++) {
                                if (resourcesServerArray[iresources].toString().contains("Resources")) {
                                    sshexitstatus = sshclient.sendcommand("cat  ./screens/screen_" + maskennummer + "/" + prio + "/ResourcesFW  >>" + resourcesServerArray[iresources].toString().substring(resourcesServerArray[iresources].lastIndexOf(" "), resourcesServerArray[iresources].length()), error, fromServer);
                                    if (sshexitstatus != 0) {
                                        failure = true;
                                    }
                                    jTLog.append(error.toString());
                                    jTLog.paint(jTLog.getGraphics());
                                }
                        
                            }
                        
                            jTLog.append("Maske " + maskennummer + " " + prio + " wird generiert\n");
                        
                            // Maske nun noch generieren
                            maskegenerieren(session, maskennummer, prio); 
                        }
                               
                                
                        }
                        
                    }
                        
                }
                        
                }*/
                if (failure) {

                    //Alte Maske wieder importieren 
                    //  jTLog.append(error.toString());
                    //  jTLog.append("Gesicherte Maske wird wieder installiert !!! manuelle Nacharbeit notwendig!!!\n");
                    //  jTLog.paint(jTLog.getGraphics());
                    //  sshexitstatus = sshclient.sendcommand("eval `sh denv.sh`;screen_import.sh -n " + maskennummer + " -p " + prio+" screen."+maskennummer+"."+prio+".tgz", error, fromServer);
                }

            }

        }

    } catch (JSchException ex) {
        Logger.getLogger(Masken.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(Masken.class.getName()).log(Level.SEVERE, null, ex);
    } catch (InterruptedException ex) {
        Logger.getLogger(Masken.class.getName()).log(Level.SEVERE, null, ex);
    } catch (SftpException ex) {
        Logger.getLogger(Masken.class.getName()).log(Level.SEVERE, null, ex);
    }
    return true;
}