package de.skuzzle.polly.core; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.TextArea; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStreamReader; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.SwingUtilities; public class QuickFormatter { public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new QuickFormatter(); } }); } private final JFrame frame; private final TextArea input; public QuickFormatter() { this.frame = new JFrame(); this.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.frame.setSize(new Dimension(400, 400)); final JPanel p = new JPanel(new BorderLayout()); this.input = new TextArea(); p.add(this.input, BorderLayout.CENTER); this.frame.setContentPane(p); final JButton button = new JButton("Convert"); p.add(button, BorderLayout.SOUTH); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { final String inp = input.getText(); final StringBuilder b = new StringBuilder(); try (final BufferedReader r = new BufferedReader(new InputStreamReader(new ByteArrayInputStream(inp.getBytes())))) { String line = null; while ((line = r.readLine()) != null) { line = line.trim(); if (line.startsWith("#")) { line = line.replaceAll("#+", "//"); b.append(line); b.append("\n"); } else { final int i = line.indexOf(" "); line = line.substring(0, i); b.append("public static String "); b.append(line); b.append(";\n"); } } input.setText(b.toString()); } catch (IOException e1) { e1.printStackTrace(); } } }); this.frame.setVisible(true); this.frame.pack(); } }