毎度お世話になります。 JTextFiledの割込み処理の簡素化について、お聞きいたします。 JTextFieldの割込み処理は、各JTextField毎に記載の予定ですが、ここではdataUp0の割込み を記載しています。(下記コードをご参照ください) 各JTextField(例えば、dataUp0等で合計約40個あり)、ますので40個の割込み処理 ルーチンの記載が必要とおもいます。 Q1)この割込み処理ルーチンの共通部分を、サブルーチン化等をおこない、コード数を 減少させる方法に関するコメント頂けますと、大変あり難いです。 //JTextField定義部分(new部分は別途記載)============== // コンポーネントを作成 static JTextField dataUp0; static JTextField dataUp1; static JTextField dataUp2; static JTextField dataUp3; static JTextField dataUp4; static JTextField dataUp5; static JTextField dataUp6; static JTextField dataUp7; static JTextField dataUp8; static JTextField dataUp9; static JTextField dataUp10; static JTextField dataUp11; static JTextField dataUp12; static JTextField dataUp13; static JTextField dataUp14; static JTextField dataUp15; static JTextField dataUp16; static JTextField dataUp17; static JTextField dataUp18; static JTextField dataUp19; static JTextField dataUp20; //21個のみ記載し以下省略です //割込み処理ルーチン(dataUp1に対応)========================= // テキストフィールドにイベントリスナを登録 //処理内容:dataUp1のフィールドをダブルクリックしますと、各ダブルクリックごとに //背景色が白から緑、緑から白と変化します。 dataUp1.addMouseListener ( new java.awt.event.MouseAdapter () { public void mouseClicked (java.awt.event.MouseEvent evt) { if(evt.getClickCount () == 1) { //System.out.println("Click"); } else if(evt.getClickCount () == 2) { mouseDoubleClicked (evt); //System.out.println("Double Click"); } } void mouseDoubleClicked (java.awt.event.MouseEvent evt) { switch(HColor[1]){ case 0: HColor[1]=1; dataUp1.setBackground(java.awt.Color.GREEN); //staticでok break; case 1: HColor[1]=0; dataUp1.setBackground(java.awt.Color.WHITE); //staticでok break; default: break; } dataUp1.setText(dataUp1.getText() ); } } //================================= 以上、宜しくお願いします。
↧