Java 如何在JTextField中动态写入格式化文本,如粗体、斜体或带项目符号和编号?

Java 如何在JTextField中动态写入格式化文本,如粗体、斜体或带项目符号和编号?,java,swing,Java,Swing,如何在jtextfield中设置格式化文本,就像在本网站发布答案一样,我们可以更改字体样式和添加编号等。谷歌是您最好的帮助。构建这个的步骤将遵循类似的步骤 1: Create identifier, some character combination/symbol to define what's what(bold, italicized, underlined). 2: When text is passed into your program have something that c

如何在jtextfield中设置格式化文本,就像在本网站发布答案一样,我们可以更改字体样式和添加编号等。

谷歌是您最好的帮助。构建这个的步骤将遵循类似的步骤

1: Create identifier, some character combination/symbol to define what's what(bold, italicized, underlined).

2: When text is passed into your program have something that checks to see if your identifiers were used.  

3:  If you find and identifier, then use an if statement, switch or something to change the font to what you want and remove the identifier from your string.

4. Then display the string where you want it.

干杯。

我真的不明白你的问题。你需要详细解释,以便其他观众能够帮助你

  • 您是否将文本字段设置为粗体输入
  • 您是否试图使您的文本字段只接受数字

  • 详述 子弹和子弹

  • 如果您试图创建自己的内置函数,如textField,则只接受数字

    您必须创建几个java类。
    例如

    template.java

      private JTextField createText(boolean acceptOnlyNumbers){
         JTextField userInput;
            if(acceptOnlyNumbers != false){
                 userInput.addKeyListener(new acceptNumberOnly(userInput))
            }
         return userInput;    
      }
    
    您可以在同一个java类中创建该类,但最好的方法是将侦听器分配到不同的类,以便在需要动态修改时,只需对该文件进行更改,而不必搜索它

    class acceptNumberOnly implements addKeyListener{
    JTextField textField ;
    
    public acceptNumberOnly(JTextField textField){
          this.textField = textField
    }
    
    textField.addKeyListener(new KeyAdapter() {
        public void keyTyped(KeyEvent e) {
        char c = e.getKeyChar();
    
    if (!(Character.isDigit(c) || (c == KeyEvent.VK_BACK_SPACE) || (c == KeyEvent.VK_DELETE))) {
                            e.consume();
                        }
                    }
                });
        }
    

    我觉得这是最好的实践之一,将组件分类为类。因此,您可以反复使用这些组件,代码将更加整洁。

    您尝试过谷歌搜索吗?使用
    JTextPane
    。如何在
    JTextField
    中适应多行。JTextField是一个轻量级组件,允许编辑单行文本。如果您坚持使用
    JTextField
    ,我应该告诉您它只支持字体。您可以尝试:
    setFont()