0

基本的に、私がやりたいことは、マウスで選択したテキストを中央に配置することです (通常の左クリックで単語をドラッグすると、単語が青色に変わります。特別な強調表示機能などはありません)。左、中央、または右。これを処理するためのボタンと actionListeners が既に設定されています。必要なのは、actionListener 内のコードだけです。

明確にするために、私はこれを使いたくありません:

setHorizontalAlignment(JTextField.CENTER);

これはテキスト フィールド全体を中央に配置しますが、それは私が探しているものではありません。私が探しているのは、選択したテキストのみが整列されているワープロで見られるものと非常によく似ています。このようにして、1 行のテキストを左揃えにし、そのすぐ下の行を中央揃えにすることができます。

以前にStyledEditorKitをいじったことがあり、それを使用する必要があったと思います。を使用できると思いますがStyledEditorKit.AlignmentAction、メソッドには文字列と整数が必要であり、これらが何のためにあるのかを実際には指定していません。

StyledEditorKit はこれを行うための最良の方法でしょうか? それとも、私が気付いていないより効率的な方法はありますか?

4

1 に答える 1

2

StyledEditorKit.AlignmentAction を使用できると思います。

正しい。

ただし、メソッドには文字列と整数が必要であり、これらが何のためにあるのかを実際には指定していません。

そして、そのクラス名を使用してフォーラムを検索して、配置アクションを作成する例を見つけるとは思いませんでしたか?

1 つは、説明をメニュー項目/ボタンに表示することです。もう 1 つは、右/中央/左の配置のタイプです。

StyledEditorKit はこれを行うための最良の方法でしょうか?

はい。Swing は、アクションで使用するために設計されました。

キーバインディングを確認してください。特定の Swing コンポーネントのすべてのデフォルト アクションを一覧表示します。

ActionMap から既存の Action を取得するか、Action の新しいインスタンスを作成することができます。

于 2016-05-24T16:24:40.027 に答える