本帖最后由 wangheng1700 于 2009-08-09 13:49:12 编辑

解决方案 »

  1.   

    jinxfei:
    表单实现,能给个范例吗
    谢谢了
      

  2.   

    请问如何使第一行的文字"请出入一个数字:"不编辑 
    而第二行可以编辑 
    第三第四行不可编辑呢 每一行一个JEditorPane还差不多.
      

  3.   


    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,但是基本可用,可以接着改。