public class MatlabGui extends JPanel implements KeyListener {
protected JTextArea myTextArea;;
public MatlabGui() {
super(new GridBagLayout());
myTextArea = new JTextArea(50, 75);
myTextArea.setEditable(true);
JScrollPane myScrollPane = new JScrollPane(myTextArea);
GridBagConstraints myCons = new GridBagConstraints();
myCons.gridwidth = GridBagConstraints.REMAINDER;
myCons.fill = GridBagConstraints.BOTH;
myCons.weightx = 1;
myCons.weighty = 1;
add(myScrollPane, myCons);
myTextArea.addKeyListener(this);
}
private static void createAndShowGUI() {
JFrame frame = new JFrame("Matlab");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new MatlabGui());
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
@Override
public void keyPressed(KeyEvent evt) {
// TODO Auto-generated method stub
if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
try {
myTextArea.addCaretListener(CaretListener);
int caretpos = myTextArea.getCaretPosition();
int start = 0;
int end = 0;
start = myTextArea.getLineStartOffset(caretpos);
end = myTextArea.getLineEndOffset(caretpos);
System.out.println(myTextArea.getText(start, end));
} catch (BadLocationException ex) {
System.out.println(ex.getMessage());
}
myTextArea.append("\n" + ">>>" + " " + "matlab's response");
}
}
public String getString() {
return myTextArea.getText();
}
@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
}
}
对于您的另一个问题:
您的条件if(evt.getkeycode()==keyevent.vk_enter)
在mytextarea.append(“\n”+“>>>”+“+”matlab的响应“)之前结束;
所以当按下某个键时,总是调用mytestarea.append。
你应该做:
if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
try {
// Hint
// offset=myTextArea.getLineOfOffset(myTextArea.getCaretPosition());
int start = 0;
int end = 0;
start = myTextArea.getLineStartOffset(start);
end = myTextArea.getLineEndOffset(end);
System.out.println(myTextArea.getText(start, end));
} catch (BadLocationException ex) {
System.out.println(ex.getMessage());
}
String text = myTextArea.getText();
System.out.println(text);
myTextArea.append("\n" + ">>>" + " " + "matlab's response");
}
我有一些多行文字作为控制台输入。诸如此类: 行数可能每次都不同(一、二、三、四等,但不是零),但这个文本总是在瞬间用行分隔符(一个粘贴,而不是按回车键输入几个)输入。这个Java应用程序必须立即开始对这些行做些什么,但出于某种原因,我不明白如何做出这种行为。我的意思是,它必须将所有这些行保存到,或,或
问题内容: 通过控制台进行任何输入的数据类型(如我使用BufferedReader类所做的那样)为String。之后,我们将其类型转换为需要查询的数据类型(如Inter.parseInt()为整数)。但是在C语言中,我们可以接受任何输入原始数据类型,而在Java中,所有输入类型都是Neccerily String。为什么是这样? 问题答案: 控制台输入实际上以一系列字节而不是字符串的形式读入。这是
由于某种原因,当我输出到一个文本框时,它会写[Object Object] 下面是我的代码,虽然它是一个数组。 这不是一个重复的问题,因为在console.log中,它显示了所有已刮取数据的数组,但当将该数据放入文本框中时,它只显示[Object Object] 在texbox中,它只输出[Object Object],不知道从这里做什么。
问题内容: 我意识到在SO上也有类似的问题,但是它们并不能完全解决我的问题。 我想要一个给定Class对象的方法,该方法将在该Class(如果存在)上调用“ main”方法,即public static void main,并捕获该main方法的控制台输出。进行调用的类是非守护线程。 我已经有部分代码了,但是我不确定如何捕获控制台输出,最重要的是,如何仅捕获此特定线程的输出。这是我到目前为止的内容
问题内容: 我通过Stata学习了数据操纵和分析,并使用log命令记录了所有写入的命令和生成的输出。这样做可以重现我的发现,检查以前的结果并与其他人共享pdf或txt。在Python中使用什么?如果我使用Python Jupyter Notebook或Spyder有区别吗? 问题答案: 执行所需操作的方法是使用命令,如下所述: 记录IPython输出?
我正在使用JSch库编写一个程序,必须打开一个通道,执行中存储的几个命令 我需要从字符串变量而不是控制台输入命令 我遇到了一个帖子Jsch:Command Output unavailable 在给定的代码中,它对于、等命令来说运行良好,但当我尝试执行时,它会遇到问题 以下是代码: