MyクラスはChangeListenerを実装しています。私は、ブラシのサイズを変更することができるようにスライダーを作成し、brush_sizeという変数を持っていますが、stateChangedメソッドでbrush_sizeをどのように変更できるかわかりません。ここ は私のコードです:Javaのブラシサイズを変更する方法
public class PaintBrushTool implements Tool, ChangeListener {
private PaintBrushToolUI ui;
private ImageEditorModel model;
private int brush_size = 5;
private JSlider sizeSlider; // new slider
public PaintBrushTool(ImageEditorModel model) {
this.model = model;
ui = new PaintBrushToolUI();
JSlider sizeSlider = new JSlider(); // initialize the slide
sizeSlider.addChangeListener(this); // make this class listen to the PaintBrushToolUI class
}
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
model.paintAt(e.getX(), e.getY(), ui.getBrushColor(), brush_size);
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseDragged(MouseEvent e) {
model.paintAt(e.getX(), e.getY(), ui.getBrushColor(), brush_size);
}
@Override
public void mouseMoved(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public String getName() {
return "Paint Brush";
}
@Override
public JPanel getUI() {
return ui;
}
@Override
public void stateChanged(ChangeEvent e) {
// what should i put in here?
}
}
..... @Override ます。public voidのstateChanged(ChangeEventの電子){ brush_size ++; } – Blaatz0r
@ Blaatz0r:あまりにも簡単です。スライダは値の**と**の減少を増加させることができ、その値は通常+1だけではありません。 –
私はあまりにも単純な答えが大好きです – Blaatz0r