List of usage examples for javax.swing JTextArea paint
public void paint(Graphics g)
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; }