以下代码存在两个问题。非常感谢帮助他们中的任何一个。
第一个问题是它不喜欢“(t.attribute == true)”。看起来我并不像这样使用变量。有没有办法解决这个问题?
第二个问题,再次使用相同的变量“(”un“+ attribute)”,我真的不知道如何正确编码这个位。
//这就是所谓的。
TextFormatCreator(bold, begin, end, tf);
//这是问题所在的摘录。 attribue是粗体/斜体/下划线。 begin和end是突出显示文本的参数。 tf是textformat。
private var enbold:TextFormat = new TextFormat();
private var unbold:TextFormat = new TextFormat();
private var enitalic:TextFormat = new TextFormat();
private var unitalic:TextFormat = new TextFormat();
private var enunderline:TextFormat = new TextFormat();
private var ununderline:TextFormat = new TextFormat();
public function TextFormatCreator(attribute:String, begin:int, end:int, tf:JTextArea)
{
setBase()
begin=tf.getSelectionBeginIndex();
end=tf.getSelectionEndIndex();
var t:TextFormat=tf.getTextFormat(begin,end);
if (t.attribute==true) {
tf.setTextFormat(("un" + attribute), begin, end);
}
if (t.attribute==false) {
tf.setTextFormat(("en" + attribute), begin, end);
tf.setTextFormat(enbold, begin, end);
}
if (t.attribue==null) {
tf.setTextFormat(("en" + attribute), begin, end);
}
}
答案 0 :(得分:0)
请查看TextFormat API,因为phwd声明没有任何“attirbute”属性。此外,在开始访问其中的属性之前,总是建议检查 t null 或 undefined 。