1

java swing n coを使用してGUIプログラミングを行うのはこれが初めてなので、アドバイスが必要です。現在、ボタンにアクションコマンドを設定して、ボタンに機能を追加しています。次に、コンテナで次のようなアクションをリッスンします。

    colorButton.setText("Select Color");
    colorButton.setFocusable(false);
    colorButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    colorButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jToolBar1.add(colorButton);
    jToolBar1.add(jSeparator1);
    colorButton.setActionCommand("selectColor");
    colorButton.addActionListener(this);

次に、以下のようなスニペットを使用して、実行されたアクションが実行されたコンポーネントを確認します。

else if("selectColor".equals(e.getActionCommand())) {
        Color c = JColorChooser.showDialog(this, "Select Color", Color.GREEN);
        if (selectedShape != null) {
            undoStack.add(copyOf(model.getAllShapes()));
            model.setShapeColor(selectedShape, c);  
        }
        else{
            defaultColor = c;
        }
    }

これが良い習慣なのか悪い習慣なのか知りたいだけですか?

4

1 に答える 1

1

私が通常行うことは、匿名のクラスを使用することです。

JButton button = new JButton("BUTTON");  

button.addActionListener(new ActionListener() {  
  public void actionPerformed(ActionEvent event ) {  
    // do relevant stuff
  }  
});  

編集:MadProgrammerのコメント(上記)は、オプションをうまくまとめています。これは確かに「長い」メソッドには最適なアプローチではないかもしれませんが、単純なメソッドの場合は、素晴らしく明確な方法です。

于 2012-11-07T23:42:20.170 に答える