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 サイトの他の関連記事を参照してください。