내 클래스는 ChangeListener를 구현합니다. 브러시의 크기를 변경할 수 있도록 슬라이더를 만들고 brush_size라는 변수가 있지만 stateChanged 메서드에서 brush_size를 어떻게 바꿀 수 있는지 알 수 없습니다. brushSize 변수가 모델자바 브러시 크기를 변경하는 방법
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 공공 무효 따라서, stateChanged (ChangeEvent를 전자) { brush_size ++; } – Blaatz0r
@ Blaatz0r : 너무 간단합니다. 슬라이더는 ** 및 ** 값의 증가를 증가시킬 수 있으며 그 값은 보통 +1로만 증가하는 것이 아닙니다. –
너무 간단한 답변을 좋아합니다 – Blaatz0r