package ru.kkey.ui.preview; import javax.swing.*; import java.nio.charset.Charset; import java.util.Arrays; import java.util.HashSet; import java.util.Set; /** * Text file preview * * For all files is used default encoding UTF-8 * * @author anstarovoyt */ public class TextPreview implements Preview { public static final Set<String> extensions = new HashSet<>(Arrays.asList("txt", "log", "java")); @Override public Set<String> getExtensions() { return extensions; } @Override public void render(JPanel dialog, byte[] file) { JTextArea textArea = new JTextArea(); textArea.setWrapStyleWord(true); textArea.setLineWrap(true); textArea.setEditable(false); JScrollPane scrollPane = new JScrollPane(textArea); textArea.setText(new String(file, Charset.forName("UTF-8"))); textArea.setCaretPosition(0); dialog.add(scrollPane); } }