我正在使用此处http://java.dzone.com/news/how-quickly-add-validation的验证API。当我将所有组件放在一个面板中时,它可以正常工作。但是,如果我的组件位于包裹在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();
}
});
那么我怎么能强制重绘像调整大小一样有效???或者任何更好的建议??
答案 0 :(得分:0)
似乎验证插件没有正确完成。只适用于面板,而不是Jscrollpane。最好是删除图标并自己绘制..谢谢..