JEditorPane不可编辑的疑难问题 本帖最后由 wangheng1700 于 2009-08-09 13:49:12 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 jinxfei:表单实现,能给个范例吗谢谢了 请问如何使第一行的文字"请出入一个数字:"不编辑 而第二行可以编辑 第三第四行不可编辑呢 每一行一个JEditorPane还差不多. import java.awt.event.ComponentListener;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import javax.swing.JEditorPane;import javax.swing.JFrame;public class A extends JFrame { public static void main(String[] args) { A a = new A(); a.setVisible(true); final JEditorPane p = new JEditorPane(); a.add(p); final String line1 = "请出入一个数字: "; final String line2 = "3"; final String line3 = "运行结果: "; final String line4 = "5"; StringBuilder sb = new StringBuilder(line1); sb.append("\n").append(line2).append("\n").append(line3).append("\n").append(line4); p.setText(sb.toString()); p.addKeyListener(new KeyListener() { @Override public void keyPressed(KeyEvent arg0) { } @Override public void keyReleased(KeyEvent arg0) { } @Override public void keyTyped(KeyEvent arg0) { int cp = p.getCaretPosition(); String text = p.getText(); int d = text.indexOf("\n", text.indexOf("\n") + 1); String line2 = text.substring(line1.length() + 1, d); if (cp < line1.length() + 1 || cp > (line2 + line1).length() + 1) { arg0.consume(); return; } } }); }}试一试,肯定有BUG,但是基本可用,可以接着改。 sha加密后,为什么每个字节都要和0xff 与一下? 关于static 请教高手! 请问大家再用什么编译器 怎么获得一个JSP系统的当前在线人数? 熟悉,精通java的来 (高分啊……)Jbuilder7好还是JBuilder8好,那里有JBuilder的快速入门宝典! 为何清华大学出版社的JAVA2实用教程书中的连接SQL SERVER 2000的例子不能成功? java vs £define 写了个服务器,抛了个我没见过的Exception 一个字符串 怎么去掉第一个和最后一个字符? PHPEclipse下如何安装JSEclipse?
表单实现,能给个范例吗
谢谢了
而第二行可以编辑
第三第四行不可编辑呢 每一行一个JEditorPane还差不多.
import java.awt.event.ComponentListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;import javax.swing.JEditorPane;
import javax.swing.JFrame;
public class A extends JFrame { public static void main(String[] args) {
A a = new A();
a.setVisible(true);
final JEditorPane p = new JEditorPane();
a.add(p);
final String line1 = "请出入一个数字: ";
final String line2 = "3";
final String line3 = "运行结果: ";
final String line4 = "5";
StringBuilder sb = new StringBuilder(line1);
sb.append("\n").append(line2).append("\n").append(line3).append("\n").append(line4);
p.setText(sb.toString());
p.addKeyListener(new KeyListener() { @Override
public void keyPressed(KeyEvent arg0) {
} @Override
public void keyReleased(KeyEvent arg0) { } @Override
public void keyTyped(KeyEvent arg0) {
int cp = p.getCaretPosition();
String text = p.getText();
int d = text.indexOf("\n", text.indexOf("\n") + 1);
String line2 = text.substring(line1.length() + 1, d);
if (cp < line1.length() + 1 || cp > (line2 + line1).length() + 1)
{
arg0.consume();
return;
}
}
});
}
}试一试,肯定有BUG,但是基本可用,可以接着改。