这是我第一次用java swing 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;
}
}我只想知道这是好的实践还是坏的实践?
发布于 2012-11-08 07:42:20
我通常做的是使用匿名类,例如
JButton button = new JButton("BUTTON");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event ) {
// do relevant stuff
}
}); 编辑:MadProgrammer的评论(见上)很好地总结了你的选择。对于“较长”的方法,这可能确实不是最好的方法,但对于简单的方法,它是很好和清晰的。
https://stackoverflow.com/questions/13280132
复制相似问题