如何改变文本框的输入方式

yh10231033 2007-09-14 08:56:51
在文本框中输入的方式默认为插入形式,如何通过按键盘上的:Insert键,来切换插入和改写模式,谢谢各位
...全文
140 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
AppleYang2006 2007-09-14
  • 打赏
  • 举报
回复
JDK好像没提供这件的方法,只能自己在监听事件中去处理了
Sprite_bei 2007-09-14
  • 打赏
  • 举报
回复
public class InsertTextField extends JPanel {

/**
* @param args
*/
public static void main(String[] args) {
JFrame jf = new JFrame();
jf.setContentPane(new InsertTextField());
jf.pack();
jf.setVisible(true);
}
public InsertTextField() {
this.setLayout(new FlowLayout());
final JTextField jtf = new JTextField(10);
final IntegerDocument id = new IntegerDocument(10);
jtf.addKeyListener(new KeyListener() {
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_INSERT) {
id.setFlag();
}
}
@Override
public void keyReleased(KeyEvent e) {
// jtf.setCaretPosition(jtf.getText().length());
}

@Override
public void keyTyped(KeyEvent e) {

}

});
jtf.setDocument(id);
this.add(jtf);
}

class IntegerDocument extends PlainDocument {

private boolean flag = false;

public IntegerDocument(int n) {
super();
}

public void setFlag() {
boolean f = flag ? flag = false : (flag = true);
}

public void insertString(int offset, String s, AttributeSet ats)
throws BadLocationException {

try {
super.insertString(offset, s, ats);
if (flag) {
remove(offset - 1, 1);
}
} catch (Exception ex) {
Toolkit.getDefaultToolkit().beep();
}
}
}
}

可以结贴了
yh10231033 2007-09-14
  • 打赏
  • 举报
回复
Sprite_bei(http://www.blogjava.net/swing) 结贴前,再次感谢下,上面提到的问题我已经自己解决了,
yh10231033 2007-09-14
  • 打赏
  • 举报
回复
Sprite_bei(http://www.blogjava.net/swing) 牛人啊,肯定是没测试就写出来了,太牛了,我还在想是否会有系统自带的,呵呵,太傻了。
基本上可以了,就是还有一点点小问题,替换应该是替换掉光标所在的后面一个,然后再输入的时候,应该继续把后面的替换了,你的是一直替换同一个位置的,而且是替换光标前面那个字符了,请再帮我看看,这个东西吧,谢谢
内容概要:本文档聚焦于“配电网N-1扩展规划”研究,采用MOPGA-NSGA-II多目标优化算法,结合Matlab编程实现,系统探讨了满足N-1安全准则的配电网扩展规划方法。研究内容涵盖配电网可靠性提升、网络重构、分布式电源接入等关键技术环节,通过构建多目标优化模型,综合考虑系统安全性、经济性与稳定性,实现对扩展方案的科学评估与优选,确保在单一元件故障条件下仍能维持可靠供电。文档还介绍了多种智能优化算法(如粒子群、遗传算法等)在电力系统规划中的应用,突出模型的实用性、工程可操作性及科研复现价值,适用于复杂电力系统优化问题的求解与仿真分析。; 适合人群:具备电力系统基础理论知识、熟悉Matlab编程语言,从事配电网规划、电力系统优化调度、智能算法应用等相关领域的科研人员与工程技术人员,特别适合高校研究生及电力行业研发人员。; 使用场景及目标:①掌握基于MOPGA-NSGA-II等多目标进化算法的配电网扩展规划建模流程;②深入理解N-1安全准则在电网规划中的具体实施机制与技术路径;③学习如何利用Matlab实现电力系统优化问题的建模、求解与可视化分析,提升在实际科研项目或工程项目中的规划与决策能力。; 阅读建议:建议读者结合文档中提供的Matlab代码进行动手实践,重点剖析目标函数设计、约束条件设定及算法参数调优等核心环节,同时可延伸学习文档中提及的储能配置、故障定位、鲁棒优化等相关课题,以拓展在智能电网与综合能源系统领域的研究视野。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧