import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.font.TextHitInfo;
import java.awt.im.InputMethodRequests;
import java.text.AttributedCharacterIterator;
import java.text.AttributedCharacterIterator.Attribute;
import java.util.ArrayList;
import java.util.List;
public class TestTerminal extends JFrame implements NotifyKeyListener{
private MyDisplay disp = null;
private DataModel dm = null;
public TestTerminal(){
this.setSize(300, 200);
this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
this.setVisible(true);
}
private JPanel getJContentPane() {
JPanel jContentPane = null;
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
dm = new DataModel();
disp = new MyDisplay(dm);
disp.setNotifyKeyListener(this);
jContentPane.add(new JScrollPane(disp), BorderLayout.CENTER);
}
return jContentPane;
}
public static void main(String args[]){
new TestTerminal();
}
public void notify(KeyEvent e) {
try{
int c = e.getKeyChar();
if(c==7){
Toolkit.getDefaultToolkit().beep();
return;
}
if(c==8){
dm.setCursorCol(dm.getCursorCol()-1);