| 1 package org.antlr.works.project; 2 3 import org.antlr.works.prefs.AWPrefs; 4 5 import javax.swing.*; 6 import java.awt.*; 7 import java.awt.event.ActionEvent ; 8 import java.awt.event.ActionListener ; 9 39 40 public class ProjectConsole { 41 42 protected Container container; 43 protected JTextArea textArea; 44 45 public ProjectConsole() { 46 create(); 47 } 48 49 public Container getContainer() { 50 return container; 51 } 52 53 public void create() { 54 JTabbedPane tabbedPane = new JTabbedPane(); 55 tabbedPane.setTabPlacement(JTabbedPane.BOTTOM); 56 57 JPanel panel = new JPanel(new BorderLayout()); 58 59 Box box = Box.createHorizontalBox(); 60 61 JButton clear = new JButton("Clear All"); 62 clear.addActionListener(new ActionListener () { 63 public void actionPerformed(ActionEvent e) { 64 clear(); 65 } 66 }); 67 box.add(clear); 68 box.add(Box.createHorizontalGlue()); 69 70 panel.add(createTextArea(), BorderLayout.CENTER); 71 panel.add(box, BorderLayout.SOUTH); 72 73 tabbedPane.add("Project", panel); 74 75 container = tabbedPane; 76 } 77 78 public Container createTextArea() { 79 textArea = new JTextArea(); 80 JScrollPane textAreaScrollPane = new JScrollPane(textArea); 81 textAreaScrollPane.setWheelScrollingEnabled(true); 82 applyFont(); 83 return textAreaScrollPane; 84 } 85 86 public void applyFont() { 87 textArea.setFont(new Font(AWPrefs.getEditorFont(), Font.PLAIN, AWPrefs.getEditorFontSize())); 88 } 89 90 public void clear() { 91 textArea.setText(""); 92 } 93 94 public synchronized void print(String s) { 95 textArea.setText(textArea.getText()+s); 96 textArea.setCaretPosition(textArea.getText().length()); 97 } 98 } 99 | Popular Tags |