Java 将命令输出打印到文本区域/文本面板-JSch
该程序是JSch的一部分,以前用于读取输出内容,然后将其打印到控制台,但我制作了一个带有textPanel的UI,我想将提取的内容写入文本区域。但我得到了空指针异常。我调用textPanel的方式有问题 JumpHosts-(用于完整程序) 文本面板在大型机类中初始化:Java 将命令输出打印到文本区域/文本面板-JSch,java,jsch,Java,Jsch,该程序是JSch的一部分,以前用于读取输出内容,然后将其打印到控制台,但我制作了一个带有textPanel的UI,我想将提取的内容写入文本区域。但我得到了空指针异常。我调用textPanel的方式有问题 JumpHosts-(用于完整程序) 文本面板在大型机类中初始化: public class MainFrame extends JFrame{ private TextPanel textPanel; private Toolbars toolbar; private FormPanel f
public class MainFrame extends JFrame{
private TextPanel textPanel;
private Toolbars toolbar;
private FormPanel formPanel;;
public MainFrame() {
super("ABC");
setLayout(new BorderLayout());
//setJMenuBar(createMenuBar());
textPanel = new TextPanel();
toolbar = new Toolbars();
formPanel = new FormPanel();
toolbar.setStringListener(new StringListeners() {
public void textEmitter(String text) {
textPanel.appendText(text);
}
});
formPanel.setFormListener(new FormListener(){
public void formEventOccured(FormEvent e){
String name = e.getName();
String occupation = e.getOccupation();
textPanel.appendText(name + " : " + occupation + "\n");
}
});
add(textPanel,BorderLayout.CENTER);
add(toolbar,BorderLayout.NORTH);
add(formPanel,BorderLayout.WEST);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setMinimumSize(new Dimension(500, 400));
setSize(600, 500);
}
你在哪里初始化了textPanel?如果有人问你“我有一个程序,我不会向你展示代码,它在某些未指定的条件下运行时在某个点抛出一个NPE”,你会如何帮助他们?@Raffaele希望这能有所帮助
public class TextPanel extends JPanel {
private JTextArea textArea;
public TextPanel(){
setLayout(new BorderLayout());
textArea = new JTextArea();
add(new JScrollPane(textArea),BorderLayout.CENTER);
}
public void appendText(String tmp){
textArea.append(tmp);
}
public class MainFrame extends JFrame{
private TextPanel textPanel;
private Toolbars toolbar;
private FormPanel formPanel;;
public MainFrame() {
super("ABC");
setLayout(new BorderLayout());
//setJMenuBar(createMenuBar());
textPanel = new TextPanel();
toolbar = new Toolbars();
formPanel = new FormPanel();
toolbar.setStringListener(new StringListeners() {
public void textEmitter(String text) {
textPanel.appendText(text);
}
});
formPanel.setFormListener(new FormListener(){
public void formEventOccured(FormEvent e){
String name = e.getName();
String occupation = e.getOccupation();
textPanel.appendText(name + " : " + occupation + "\n");
}
});
add(textPanel,BorderLayout.CENTER);
add(toolbar,BorderLayout.NORTH);
add(formPanel,BorderLayout.WEST);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setMinimumSize(new Dimension(500, 400));
setSize(600, 500);
}