swing中spinner 博客分类: 技术 swing spinner
程序员文章站
2024-03-22 20:56:16
...
swing中的spinner,我想搞过swing的童鞋们再熟悉不过了,通过两个小箭头将值尽心变化。在一个项目开发中,偶采用的是年份和月份的组合,点向上按钮年或月加一,反之则减一,编辑框显示格式为yyyy/MM,问题来了,当界面显示后点击按钮是默认年份增减而不是月份增减,这样话使用起来极不方便,当然了如果将显示格式设置为MM/yyyy,则是月份增减,但是显示上明显不符合习惯,至少我是这么认为,后来终于找到了办法。关键代码如下:
DateEditor ed = new JSpinner.DateEditor(spinner, "yyyy/MM");
ed.getTextField().setCaret(new DefaultCaret() {
private boolean diverted = false;
public void setDot( int dot )
{
diverted = (dot == 0);
if (diverted) {
dot = getComponent().getDocument().getLength();
}
super.setDot( dot );
}
public void moveDot( int dot )
{
if (diverted) {
super.setDot(0);
diverted = false;
}
super.moveDot( dot );
}
});
//
spinner.setEditor(ed);
DateEditor ed = new JSpinner.DateEditor(spinner, "yyyy/MM");
ed.getTextField().setCaret(new DefaultCaret() {
private boolean diverted = false;
public void setDot( int dot )
{
diverted = (dot == 0);
if (diverted) {
dot = getComponent().getDocument().getLength();
}
super.setDot( dot );
}
public void moveDot( int dot )
{
if (diverted) {
super.setDot(0);
diverted = false;
}
super.moveDot( dot );
}
});
//
spinner.setEditor(ed);
推荐阅读
-
swing中spinner 博客分类: 技术 swing spinner
-
swing中spinner 博客分类: 技术 swing spinner
-
mac 中判断command键是否被按下 博客分类: macjava swing command按下commandcmd键
-
Swing中的线程探究-2 博客分类: Java Swing Swing多线程DOSUI编程
-
Swing中的线程探究-1 博客分类: Java Swing Swing多线程UI编程thread
-
在 Swing 程序中嵌入原生网页浏览器 和 Flash Player 博客分类: Java 浏览器SwingFlash.netWeb
-
在 Swing 程序中嵌入原生网页浏览器 和 Flash Player 博客分类: Java 浏览器SwingFlash.netWeb