12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package ui.view;
- import java.awt.BorderLayout;
- import java.awt.Component;
- import java.awt.FlowLayout;
- import javax.swing.Box;
- import javax.swing.JButton;
- import javax.swing.JPanel;
- import javax.swing.JScrollPane;
- import javax.swing.JTextArea;
- import javax.swing.JToolBar;
- import javax.swing.text.DefaultCaret;
- /**
- * Little new swing object to print data to a console.
- * @author tom
- *
- */
- public class Console extends JPanel {
- private JTextArea textArea = new JTextArea();
- private JScrollPane scrollPane;
-
- public Console() {
- super();
- this.setLayout(new BorderLayout());
- textArea.setEditable(false);
- DefaultCaret caret = (DefaultCaret)textArea.getCaret();
- caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
- scrollPane = new JScrollPane(textArea);
- this.add(scrollPane, BorderLayout.CENTER);
- JToolBar roolBar = new JToolBar();
- roolBar.setFloatable(false);
- JButton clearButton = new JButton("Clear");
- clearButton.addActionListener(actionEvent -> clear());
- roolBar.add(clearButton);
- roolBar.add(Box.createHorizontalGlue());
- JButton topButton = new JButton("Top");
- topButton.addActionListener(actionEvent -> scrollToTop());
- roolBar.add(topButton);
- JButton botButton = new JButton("Bottom");
- botButton.addActionListener(actionEvent -> scrollToBottom());
- roolBar.add(botButton);
- scrollPane.setColumnHeaderView(roolBar);
- }
- private void scrollToTop() {
- textArea.setCaretPosition(0);
- }
- private void scrollToBottom() {
- textArea.setCaretPosition(textArea.getDocument().getLength());
- }
-
-
-
-
-
-
- public void clear() {
- textArea.setText("");
- }
- public void print(String message) {
- textArea.append(message);
-
- }
- public void println(String message) {
- textArea.append(message + "\n");
- }
- }
|