HTMLスタイルのリンクはSWT StyledTextに追加することができますか?

StackOverflow https://stackoverflow.com/questions/1494337

  •  18-09-2019
  •  | 
  •  

質問

リンクとして表示され、機能私は、SWTはHTMLウィジェットとしてのhrefスタイルのリンクを作成するためのリンククラスを持って知っているが、私はStyledTextコントロールで特定のテキストを作るための方法を見つけようとワスト。

私は、あなたがコントロールを押したまま、メソッドの名前の上にマウスポインターを置きますが、私は、EclipseのJavaエディタがはるかに複雑StyledTextコントロールよりも知っている場合は、そのコードエディタでこれを行いEclipseのような気がします。

役に立ちましたか?

解決

は、JFaceの3.5ので、リンクのための特別なスタイルがあります:

styleRange.underlineStyle = SWT.UNDERLINE_LINK;
styleRange.data = "http://www.google.com/";

このリンクを識別するために、あなたのスタイルでURLを格納することができ、それははるかに簡単になります。自動的にリンクを見つけるためとして、ちょうどあなたが取得し、スタイルを追加ラインに(ブランクはリンクで許可されていない)パターンhttp://[^ ]を探します。

他のヒント

あなたはStyledTextウィジェットにLineStyleListenerを追加する必要があります:

textField.addLineStyleListener (...);

...

public void lineGetStyle (LineStyleEvent e)
{
  // alloc a set of styles for the requested line
  e.styles = new StyleRange [...];

  for (int i = 0; i < e.styles.length; i++)
  {
    StyleRange styleRange = new StyleRange ();

    styleRange.start = ...;
    styleRange.length = ...;
    styleRange.underline = true;
    styleRange.foreground = <URL colour>;

    e.styles [i] = styleRange;
  }
}

LineStyleListenerのjavadocはあなたにいくつかのより多くの情報が得られます。

あなたには、いくつかのより多くのロジックを必要とする、クリック動作を追加するには:。それが役立つだろう場合、私はまた、我々は自動的にStyledTextウィジェットにHTML形式のクリック可能なリンクのURLを追加するために使用するいくつかのコードを貼り付けができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top