2011-08-04 50 views
2

因此,我正在創建一個程序,根據用戶選擇的內容來更改JTextField。所以它就像一個包含字體(來自JComboBox),大小和屬性(粗體等)的Word文檔。顯然我的很小,只能用一行(JTextField)工作。我得到的問題是,在我將某些東西寫入具有特定屬性的字段後,我想用不同的屬性添加更多的字,它改變了整個文本字段,而不僅僅是我添加的新部分。我知道這個問題是JTextfield字體和屬性問題

Writer.addKeyListener(new KeyAdapter() { 
     @Override 
     public void keyTyped(KeyEvent e) { 
      if((e.getKeyChar() >= e.VK_A && e.getKeyChar()<= e.VK_Z) || (e.getKeyChar() >= 'a' && e.getKeyChar()<='z')|| e.getKeyChar() == '\b') // Checks to make sure No Numbers 
      { 
       Writer.setEditable(true); 

      } 
      else 
      { 
       Writer.setEditable(false); 
      } 

      if(font.equals("Arial")) 
      { 
       if(size.equals("8")) 
       { 
        setSize = 8; 
       } 
       else if(size.equals("10")) 
       { 
        setSize = 10; 
       } 
       else if(size.equals("12")) 
       { 
        setSize = 12; 
       } 

       if(color.equals("Black")) 
       { 
        setColor = Color.BLACK; 
       } 
       else if(color.equals("Blue")) 
       { 
        setColor = Color.BLUE; 
       } 
       else if(color.equals("Red")) 
       { 
        setColor = Color.red; 
       } 

       Font font = new Font("Arial", setAttribute, setSize); 
       Writer.setFont(font); // I Know that this sets the font everytime, so i'm pretty sure this is where my problem is. 
       Writer.setForeground(setColor); 
      } 

我如何能做出改變,因此新輸入的字符可以有比以前的角色不同的字體任何想法。

回答

1

JTextFields允許使用HTML。解析和插入新的html代碼可能需要一些工作,但是你可以這樣做。