1 package fr.orsay.lri.varna.components;
3 import java.awt.BorderLayout;
4 import java.awt.Dimension;
5 import java.awt.event.ActionEvent;
6 import java.awt.event.ActionListener;
7 import java.awt.event.FocusEvent;
8 import java.awt.event.FocusListener;
9 import java.awt.event.KeyEvent;
10 import java.awt.event.KeyListener;
11 import java.io.IOException;
13 import javax.swing.JButton;
14 import javax.swing.JEditorPane;
15 import javax.swing.JFrame;
16 import javax.swing.JPanel;
17 import javax.swing.JScrollPane;
18 import javax.swing.JTextArea;
19 import javax.swing.JTextField;
21 import fr.orsay.lri.varna.VARNAPanel;
22 import fr.orsay.lri.varna.controlers.ControleurScriptParser;
23 import fr.orsay.lri.varna.models.VARNAConfig;
25 public class VARNAConsole extends JFrame implements ActionListener, FocusListener, KeyListener {
27 private VARNAPanel _vp;
29 private JButton _quitButton;
30 private JPanel _contentPanel;
31 private JPanel _quitPanel;
32 private JTextField _input;
33 private JEditorPane _output;
34 private JScrollPane _scrolls;
36 public VARNAConsole(VARNAPanel vp)
44 _quitButton = new JButton("Exit");
45 _quitPanel = new JPanel();
46 _contentPanel = new JPanel();
47 _input = new JTextField("Your command here...");
48 _output = new JEditorPane();
49 _scrolls = new JScrollPane(_output);
51 _input.addFocusListener(this);
52 _input.addKeyListener(this);
54 _output.setText(VARNAConfig.getFullName()+" console\n");
55 _output.setPreferredSize(new Dimension(500,300));
56 _output.setEditable(false);
58 _quitPanel.add(_quitButton);
60 _quitButton.addActionListener(this);
62 _contentPanel.setLayout(new BorderLayout());
63 _contentPanel.add(_scrolls,BorderLayout.CENTER);
64 _contentPanel.add(_input,BorderLayout.SOUTH);
66 getContentPane().setLayout(new BorderLayout());
67 getContentPane().add(_contentPanel,BorderLayout.CENTER);
68 getContentPane().add(_quitPanel,BorderLayout.SOUTH);
73 public void actionPerformed(ActionEvent arg0) {
77 private boolean _firstFocus = true;
79 public void focusGained(FocusEvent arg0) {
82 _input.setSelectionStart(0);
83 _input.setSelectionEnd(_input.getText().length());
88 public void focusLost(FocusEvent arg0) {
89 // TODO Auto-generated method stub
93 public void keyPressed(KeyEvent arg0) {
94 // TODO Auto-generated method stub
98 public void keyReleased(KeyEvent arg0) {
99 // TODO Auto-generated method stub
103 public void keyTyped(KeyEvent arg0) {
104 // TODO Auto-generated method stub
105 char c = arg0.getKeyChar();
109 ControleurScriptParser.executeScript(_vp,_input.getText());
110 } catch (Exception e) {
111 _output.setText(_output.getText()+e.getMessage()+'\n');