0
我已經添加了一個將JInternalFrame擴展到我的JDesktopPane中的「終端」。終端的構造是一樣如何刷新JDesktopPane上的組件
public Terminal(Executable exec)
其中可執行是包含抽象方法ELAB的接口,以及I的實例存儲到一個變量。所以當我按「確定」時,我打電話給exec.elab(String arg)
方法。進入我的JDesktopPane,我創建了一個Terminal(new BasicCommands())
。創建完成後,使用命令,我想更改我的終端實例,其中AdvancedCommands和BasicCommands是實現可執行接口的類,並且包含它們自己的elab方法。所以當我這樣做時,我沒有任何警告或其他的東西,但是當我想打電話給terminal.setExec(new AdvancedCommands())
來改變我的elab方法時,沒有什麼改變......我該怎麼做呢?我試圖刷新終端(重新驗證並重新繪製),但不...
我怎麼加的KeyListener在終端類:
inputArea.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent arg0) {
if (arg0.getKeyCode()==KeyEvent.VK_ENTER){
if(!inputArea.getText().isEmpty()){
scrollPane.getVerticalScrollBar().setValue(scrollPane.getVerticalScrollBar().getMaximum());
exec.elab(new Str(inputArea.getText())); //I want to change this method with ter.setExec(some class that implements Executable);
clearInputArea();
}
}
}
});