Как отобразить ввод пользователей в консоль(попытка построить консоль)
Привет, я пытаюсь создать консоль ( например, Windows cmd).Я думаю, что сделал все правильно с графическим интерфейсом, но я не могу переносить ввод пользователей на консоль.Я имею в виду, если пользователь набирает hello и enter console, он должен его отображать.Есть 2 класса: один-основной, другой-консольный.
import javax.swing.*; import javax.swing.text.StyledDocument; public class ana extends JFrame { public JFrame frame; public JTextPane console; public JTextField input; public JScrollPane scrollpane; public boolean trace= false; public StyledDocument document; public static void main(String[] args) { konsol k = new konsol(); k.konsolum(); } }
Это консольный класс:
import java.awt.*; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextField; import javax.swing.JTextPane; import javax.swing.UIManager; import javax.swing.text.BadLocationException; import javax.swing.text.Style; import javax.swing.text.StyleConstants; import javax.swing.text.StyledDocument; public class konsol { public JFrame frame; public JTextPane console; public JTextField input; public JScrollPane scrollpane; public boolean trace= false; public StyledDocument document; public void konsolum() { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch(Exception e) {} frame = new JFrame(); frame.setTitle("Konsol"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); console = new JTextPane(); input = new JTextField(); scrollpane = new JScrollPane(); frame.add(input,BorderLayout.SOUTH); frame.add(scrollpane,BorderLayout.CENTER ); frame.setSize(660,350); frame.setLocationRelativeTo(null); frame.setResizable(false); frame.setVisible(true); frame.getContentPane().setBackground(new Color(50,50,50)); console.setEditable(false); console.setFont(new Font("Courier New",Font.PLAIN,12)); console.setOpaque(false); document = console.getStyledDocument(); scrollpane.getViewport().setOpaque(false); scrollpane.setOpaque(false); scrollpane.setBorder(null); input.setEditable(true); input.setCaretColor(Color.WHITE); input.setForeground(Color.WHITE); input.setOpaque(false); input.setFont(new Font("Courier New",Font.PLAIN,12)); input.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String text=input.getText(); } }); input.addKeyListener(new KeyListener(){ public void keyPressed(KeyEvent e) { } public void keyReleased(KeyEvent e) { } public void keyTyped(KeyEvent e) { } }); } }
Я действительно не знаю, что написать внутри событий actionperformed`. Моя главная цель-создать консоль, которая будет понимать команды и делать с ними разные вещи. Спасибо
Что я уже пробовал:
добавление console. setText(текст);
к действию выполненному но не работающему
[no name]
http://www.cs.carleton.edu/faculty/dmusican/cs117s03/iocheat.html
Richard MacCutchan
Вам просто нужно добавить cod, чтобы захватить клавишу Enter в текстовом поле. Как только у вас это есть, вы обрабатываете контент так, как вам нужно. Какая часть вышеприведенного кода не работает?