标签: jspinner

在JTextField中查找光标文本位置

是否有方法返回JTextField中字符的位置.我的意思是,如果我有一个带有一些值的JTextField.例如,该字段包含值ABCDEFJ.用户决定将光标放在字符"C"之后,以输入新值.有没有一种方法可以获得进入新角色的位置.在这个例子中,这将返回3.

java swing caret jspinner

8
推荐指数
1
解决办法
1万
查看次数

JComboBox和JSpinner的区别

我正在Java swing中编写一个Java桌面实用程序,其中包含一个最小的GUI部分,大部分工作都是在服务器端完成的,即后端.所以,我不想花很多时间在GUI部分,学习不同的控件和小部件.问题是,Swing有两个控制(对我来说)相同的任务,即下拉菜单,他们是JComboBox,JSpinner我不知道差异,我不希望任何限制,将阻碍我完成我的任务后,我选择一.

我将使用下拉显示List<String>从DataBase返回的显示,它可以有多达数千个值.为了防止用户滚动,我将把起始字母作为输入,或者有一些类别限制,所以,我可能会使用特定值来显示List<String>.我希望我的程序尽可能高效,并且在前端花费最少的时间,因为后端有很多操作.

任何帮助将受到高度赞赏

java swing jspinner jcombobox

8
推荐指数
1
解决办法
1130
查看次数

JSpinner.DateEditor必须包括年份,即使开始和结束是同一年

我有一个使用SpinnerDateModel的JSpinner,它的开头是2010年1月1日00:00:00.000结束日期是2010年1月1日00:12:34.217.我希望我的JSpinner.DateEditor使用格式HH:mm:ss.SSS但旋转器不会使用此格式旋转.只有在将"yyyy"添加到格式时才会旋转.我怎么能绕过这个?

import java.awt.GridLayout;
import java.util.*;
import javax.swing.*;

public class T extends JPanel {

    public T() {
        super(new GridLayout(2, 2));
        init();
    }

    private void init() {
        Calendar start = GregorianCalendar.getInstance();
        Calendar end = GregorianCalendar.getInstance();
        start.clear();
        end.clear();
        start.set(Calendar.YEAR, 2010);
        end.set(Calendar.YEAR, 2010);
        end.add(Calendar.HOUR_OF_DAY, 12);
        SpinnerDateModel m1 =
                new SpinnerDateModel(start.getTime(), start.getTime(),
                end.getTime(), Calendar.MILLISECOND);
        SpinnerDateModel m2 =
                new SpinnerDateModel(start.getTime(), start.getTime(),
                end.getTime(), Calendar.MILLISECOND);
        JSpinner workingSpinner = new JSpinner(m1);
        workingSpinner.setEditor(
                new JSpinner.DateEditor(workingSpinner,
                "yyyy HH:mm:ss.SSS"));
        JSpinner notWorkingSpinner = new JSpinner(m2);
        notWorkingSpinner.setEditor(
                new JSpinner.DateEditor(notWorkingSpinner,
                "HH:mm:ss.SSS"));
        add(new JLabel("Working"));
        add(workingSpinner);
        add(new …
Run Code Online (Sandbox Code Playgroud)

java swing jspinner

6
推荐指数
1
解决办法
1928
查看次数

如何禁用JSpinner的键盘和鼠标输入?

当我尝试通过键盘或鼠标使JSpinner不可编辑时,如下所示:

((DefaultEditor) mySpinner.getEditor()).getTextField().setEditable(false);
mySpinner.setEnabled(false);
Run Code Online (Sandbox Code Playgroud)

它禁用任何键盘输入和粘贴,但我仍然可以单击向上/向下按钮并更改值.

如何禁用向上/向下按钮?

java swing jspinner

6
推荐指数
1
解决办法
6160
查看次数

JOPPane中的JSpinner?

我需要将JSpinner放在JOptionPane中.这是我尝试过的:

import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.SpinnerNumberModel;

    public static void main(String[] args) {
        SpinnerNumberModel sModel = new SpinnerNumberModel(0, 0, 30, 1);
        JSpinner spinner = new JSpinner(sModel);
        JOptionPane.showInputDialog(spinner);
    }
Run Code Online (Sandbox Code Playgroud)

结果如下:

在此输入图像描述

如何删除文本框?

java swing joptionpane jspinner

6
推荐指数
1
解决办法
3638
查看次数

如何检查是否手动设置了值而不是setValue(JSlider,JSpinner)?

如何检查JSlider或JSpinner的值是通过图形界面而不是通过方法设置的setValue( int n)

java swing jspinner jslider setvalue

6
推荐指数
1
解决办法
1673
查看次数

按照JTextField的方式使用JSpinner

首先,为了让我的工作更容易解释,这里是我的一些代码:

JSpinner spin = new JSpinner();
JFormattedTextField text = getTextField(spin);

text.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
            // Do stuff...
    }
});
Run Code Online (Sandbox Code Playgroud)

...

private JFormattedTextField getTextField(JSpinner spinner) {
    JComponent editor = spinner.getEditor();

    if (editor instanceof JSpinner.DefaultEditor) {
        return ((JSpinner.DefaultEditor )editor).getTextField();
    } else {
        System.err.println( "Unexpected editor type: "
                           + spinner.getEditor().getClass()
                           + " isn't a descendant of DefaultEditor" );
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

所以你可以看到,我走得那么远.事实上,当我在spinner(JFormattedTextField)的文本字段组件中键入一个值,然后按ENTER键时,它可以工作.

我现在想要的是能够让文本字段响应ENTER,而不必手动输入新值(这种方法使得微调器的目的无法实现).我怎么做?

java swing listeners jtextfield jspinner

5
推荐指数
1
解决办法
4144
查看次数

是否可以使用nimbus laf更改jspinner的背景?

我相信我在向你寻求帮助之前已完成了我的研究,但我可能忽略了一些东西.

我正在使用Nimbus laf编写一个java UI.我希望在状态改变时更改JSpinner的背景颜色,即,当按下向上或向下按钮时,jspinner中文本字段的背景颜色会改变颜色以表示该值已被更改.

我知道这可以使用OTHER lookandfeels但使用Nimbus不那么容易,例如: ((JSpinner.NumberEditor)jSpinner1.getEditor()).getTextField().setBackground(color.yellow);

我还研究过实际更改UI管理器的颜色主题,但我只想在操作发生时更改颜色,而不是仅在默认情况下改变整体颜色. 在这里这里

这有可能吗?我从哪里开始?

如果做不到这一点,我希望只是改变一个按钮的颜色: jButton.setBackground(Color.yellow);

这很容易,但由于默认颜色是绘制的渐变,我该如何将其更改为?

真的希望那里的人知道或可以提供帮助.

非常感谢提前!

java swing background-color jspinner nimbus

5
推荐指数
1
解决办法
2119
查看次数

Java中奇怪的SpinnerNumberModel行为

我正在尝试使用SpinnerNumberModel设置JSpinner,其值为0.0005,min = 0.0,max = 1.0,步长= 0.0005.但是,当我使用这些参数创建一个微调器时,我会发现非常奇怪的行为.每次单击向上箭头,而不是从0.0005开始并增加0.0005,该值似乎保持为0.

为了确保这不仅仅是格式化问题,我在每次更改事件后打印出微调器的值.当然,每次单击向上箭头,控制台都会将值显示为0,然后显示0.0005,无论旋转器被点击多少次.

下面是我用来测试它的代码,包括一个值略有不同的微调器,可以很好地用于比较.

import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.*;

public class Main {

    public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.setSize(200, 80);
        JPanel panel = new JPanel();
        panel.setLayout(new BorderLayout());
        final JSpinner spinner1 = new JSpinner(new SpinnerNumberModel(0.0005, 0.0, 1.0, 0.0005));
        final JSpinner spinner2 = new JSpinner(new SpinnerNumberModel(0.05, 0.0, 1.0, 0.05));
        panel.add(spinner1, BorderLayout.NORTH);
        panel.add(spinner2, BorderLayout.SOUTH);
        frame.add(panel);
        spinner1.addChangeListener(new ChangeListener() {
            public void stateChanged(ChangeEvent e) {
                System.out.println("spinner1: " + ((Number) spinner1.getValue()).doubleValue());
            }
        }); …
Run Code Online (Sandbox Code Playgroud)

java swing jspinner

5
推荐指数
1
解决办法
1568
查看次数

JSpinner和double用点或逗号作为分隔符

我想允许"逗号"和"点"两者作为分隔符.

我可以在string中使用replace方法只获得一个分隔符,但问题是double值是JSpinner的值,我无法找到允许两个分隔符的任何方法.如果我将语言环境设置为例如法语只允许一个分隔符.

java double locale jspinner separator

5
推荐指数
1
解决办法
179
查看次数