1

Swing では、ラベル コントロールを使用して、一般に次の「エントリ」コントロールでどのような情報が要求されているかをユーザーに示します。このエントリ コントロールは、エントリ、リストボックス、パスワードなどにすることができます。

DisplayMnemonic に通知して、Alt キーとアクセラレータ キーを同時に押すと、関連するエントリ コントロールが選択されることをユーザーに指示できます。

これは私がフォームを設計している方法ですが、たとえば Alt+A を押しても、「関連付けられた」コントロールは選択されません。これは、IDE (Netbeansこの場合)。

ラベル コントロールによって生成されたイベントをトラップし、必要な次のコントロールをプログラムで選択できることはわかっていますが、実際にはどうすればよいでしょうか。2 つのコントロール間のバインド/カップリングを行う "暗黙の" 方法はありませんか?

例として、私は別のプログラミング言語である Clarion for Windows を使用しています。Clarion では、次のように Window 型の複雑なデータ構造を定義できます。

MyWindow     WINDOW( 'Test' ), GRAY, DOUBLE, CENTER
               PROMPT( '&File Name:' ), AT( 10, 10 )
               ENTRY( @S127 ), USE( szFileName ), AT( 10, 20 )
               PROMPT( '&Status:' ), AT( 50, 10 )
               LIST, FROM( 'Open|#0|Closed|#1' ), USE( ?lstStatus ), AT( 50, 20, 100, 20 )
             END 

上記の例では、PROMPT コントロールは ENTRY コントロールの直前に表示されるため、暗黙的に ENTRY コントロールにバインドされます。また、"Status" コントロールと "?lstStatus" コントロールの間でも同じことが起こります。

RTL は、Alt+F を処理して szFileName コントロールを選択し、イベントを生成するなどの処理を行います。これは、プログラマーにとって時間を大幅に節約できる機能であると言う必要はありません。ウィンドウに表示されるすべてのプロンプトの選択。

これは私がSwingで探しているものです。何か案は?

4

1 に答える 1

4

JLabel.setLabelForを使用する必要があります

これにより、ラベルが指定されたコントロールに関連付けられ、ラベルのショートカットを使用してコントロールを選択できるようになります

于 2012-08-28T19:56:32.187 に答える