This.focusInsets = нольJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 This.focusInsets = ноль

Сообщение Anonymous »

Я создал класс, в котором настраиваю пользовательский интерфейс для всех JSlider по своему вкусу, но при запуске программы периодически получаю следующую ошибку:
Изображение

Это мой собственный класс пользовательского интерфейса. Я перепробовал все, чтобы решить эту проблему, но безрезультатно.
public class CustomUI {

static class CustomSliderUI extends MetalSliderUI {
private final int customTrackWidth;

public CustomSliderUI(int customTrackWidth) {
super();
this.customTrackWidth = customTrackWidth;
//this.focusInsets = new Insets(0, 0, 0, 0);
//this.insetCache = new Insets(0, 0, 0, 0);
}

@Override
public void installUI(JComponent c) {
super.installUI(c);
if (this.focusInsets == null) {
this.focusInsets = new Insets(0, 0, 0, 0);
}
}

@Override
protected void calculateTrackRect() {
super.calculateTrackRect();
trackRect.width = customTrackWidth;
trackRect.x = (slider.getWidth() - customTrackWidth) / 2;
}

@Override
protected Dimension getThumbSize() {
return new Dimension(30, 30);
}

@Override
public void paintThumb(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

g2.setColor(new Color(0xF3D39B));
int thumbWidth = 10;
int thumbHeight = 30;
int x = thumbRect.x + (thumbRect.width - thumbWidth) / 2;
int y = 0;
g2.fillRect(x, y, thumbWidth, thumbHeight);
}

@Override
public void paintTrack(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

int trackHeight = 30;
trackRect.width = customTrackWidth;

// Fülle den ausgefüllten Bereich
int filledWidth = thumbRect.x - trackRect.x + (thumbRect.width / 2);
g2.setColor(new Color(0xBB7E3B));
g2.fillRect(trackRect.x, 0, filledWidth, trackHeight);

// Fülle den nicht ausgefüllten Bereich
g2.setColor(new Color(0x773A16));
g2.fillRect(trackRect.x + filledWidth, 0, trackRect.width - filledWidth, trackHeight);
}
}


Подробнее здесь: https://stackoverflow.com/questions/792 ... nsets-null
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»