terminal java_java 实现 Terminal

该博客介绍了一个使用Java编写的简易终端模拟器。通过创建`TestTerminal`类和`MyDisplay`类,实现了基本的键盘输入处理,包括字符显示、光标移动、回退、删除等功能。此外,还支持滚动条和颜色设置,提供了一种简单的命令行交互体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值