Я использую API проверки отсюда http://java.dzone.com/news/how-quickly-add-validation. Это работает нормально, когда я помещаю все свои компоненты на панель. Однако, если мои компоненты находятся на панели, обернутой в Jscrollpane, красные значки ошибок проверки остаются статичными при прокрутке. Я пытался выполнить повторную проверку и перерисовку (на настройка слушателя) безрезультатно.
majorPane.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener(){
@Override
public void adjustmentValueChanged(AdjustmentEvent e) {
frame.revalidate();
frame.repaint();
}
});
Однако, если я изменю размер экрана, значки переместятся в правильное место. Ради экспериментов. я сделал следующее... слегка изменил размер, и теперь он работает... Однако это небольшое изменение размера все еще видно и раздражает...
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int ScreenWidth = (int) screenSize.getWidth();
int ScreenHeight = (int) screenSize.getHeight();
majorPane.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener(){
@Override
public void adjustmentValueChanged(AdjustmentEvent e) {
frame.setSize(ScreenWidth-15, ScreenHeight-15);
frame.setExtendedState(Resource.MAXIMIZED_BOTH);
frame.revalidate();
frame.repaint();
}
});
Итак, как я могу заставить перерисовать так же эффективно, как изменить размер??? или какие-нибудь лучшие предложения??