ホームページ > Java > &#&チュートリアル > Swing のトグル ボタンとメニュー項目を同期して形状の選択を制御するにはどうすればよいですか?

Swing のトグル ボタンとメニュー項目を同期して形状の選択を制御するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-19 19:41:14
オリジナル
748 人が閲覧しました

How Can I Synchronize Toggle Buttons and Menu Items in Swing to Control Shape Selection?

Swing: トグル ボタンとメニュー項目をボタン グループにリンクする

問題:

トグル ボタンとメニュー項目の並列グループを使用してペイント アプリケーションを強化するには、それらをリンクするメソッドが必要です。シームレスに、1 つのコンポーネントを選択すると他のすべての選択が解除され、適切なシェイプ タイプが設定されます。

解決策: アクション インターフェイスを利用する

ButtonGroup を使用する代わりに、アクションインターフェイス。このアプローチにより、複数のコンポーネントが同じ機能を効果的に共有できるようになります。アクションを使用すると、トリガーされたときにボタンとメニュー項目が同じコードを実行できるようになります。

実装:

必要な動作を定義する Action クラスを作成します。形状タイプ。次に、このアクションをトグル ボタンとメニュー項目の両方に割り当てます。

ユーザーがコンポーネント (ボタンまたはメニュー項目) を操作すると、アクションの actionPerformed メソッドが呼び出され、形状タイプを設定するコードがトリガーされます。 。同時に、アクションは他のすべての関連コンポーネントの選択を解除し、現在の選択内容のみがアクティブになるようにします。

コード例:

// Define the Action class
public class ShapeAction implements Action {

    @Override
    public void actionPerformed(ActionEvent e) {
        // Set the shape type based on the Action's descriptor
        setShapeType(e.getActionCommand());
        
        // Deselect all other components associated with the Action
        deselectedAllOtherComponents(e);
    }
}

// Assign the Action to components
// JToggleButton button = new JToggleButton();
// button.setAction(new ShapeAction());

// JMenuItem menuItem = new JMenuItem();
// menuItem.setAction(new ShapeAction());
ログイン後にコピー

アクション インターフェイスを使用することで、次のことを確立します。トグル ボタンとメニュー項目の集中制御メカニズムにより、それらの動作が一貫して行われるようになり、状態を設定する際の無限ループのリスクが排除されます。このアプローチによりコードが合理化され、保守と更新が容易になります。

以上がSwing のトグル ボタンとメニュー項目を同期して形状の選択を制御するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート