当前位置: 首页 > 面试题库 >

JSpinner:增加编辑器框的长度

弘兴言
2023-03-14
问题内容

我有一个JSpinner,它显示从0.0到999.0的十进制值。除了在编辑器框中显示一个四位数长的数字(例如123.4)外,它似乎工作正常。然后它会截断最后一个数字的一​​部分,因为它不够长。

所以我的问题是:有人知道如何增加JSpinner编辑器窗口的长度吗?

谢谢!


问题答案:

您可以转到实际上是一个JFormattedTextFieldby 的文本字段。

  • 首先调用getEditor()您的JSpinner以获取微调器的编辑器
  • 将返回的对象投射到 JSpinner.DefaultEditor
  • 然后调用getTextField()此。然后,可以根据需要将其设置为preferredSize。

编辑:如垃圾桶所指出的那样,使用正确的布局至关重要,并且确保使用的布局最佳,这可能是解决此问题的最佳方法。

编辑2: 上面的说法是错误的,因为设置文本字段的首选大小不会执行任何操作。但是,您可以设置编辑器本身的首选大小,这样就可以了。例如,

import java.awt.Dimension;

import javax.swing.*;

public class SpinnerBigTextField {
   private static void createAndShowGui() {
      JSpinner spinner = new JSpinner(new SpinnerNumberModel(0.0, 0.0, 999.0,
            0.5));

      JPanel panel = new JPanel();
      panel.setPreferredSize(new Dimension(300, 100));
      panel.add(spinner);

      JComponent field = ((JSpinner.DefaultEditor) spinner.getEditor());
      Dimension prefSize = field.getPreferredSize();
      prefSize = new Dimension(200, prefSize.height);
      field.setPreferredSize(prefSize);

      JFrame frame = new JFrame("SpinnerBigTextField");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.getContentPane().add(panel);
      frame.pack();
      frame.setLocationRelativeTo(null);
      frame.setVisible(true);
   }

   public static void main(String[] args) {
      SwingUtilities.invokeLater(new Runnable() {
         public void run() {
            createAndShowGui();
         }
      });
   }
}


 类似资料:
  • 问题内容: 我正在使用创建时间选择器。内的文字是可编辑的。但我想将设置为不可编辑,因为有机会给出无效的值。谁能帮我? 问题答案: 请尝试以下操作: 只要您自己没有通过调用更改微调器编辑器,此方法就应该起作用。 告诉我们这是否有帮助。

  • 问题内容: 我正在寻找有关如何使用GWT 2.1编辑器框架的 文档或示例。Google的文档非常少。 从有限的可用文档中,我已经能够得知,编辑器(理论上)将使您能够更轻松地将GUI元素绑定到数据模型。这将减轻将数据复制到TextArea / ListBox / CheckBox,然后将用户的更改复制回基础模型(最终是数据库)的非常常见的任务。 如果确实做到了这一点,将非常受欢迎。目前,我还不知道如

  • 本文向大家介绍ArtEditor富文本编辑器增加表单提交功能,包括了ArtEditor富文本编辑器增加表单提交功能的使用技巧和注意事项,需要的朋友参考一下 摘要:   artEditor.js是一款移动端的富文本编辑器,支持图片上传,后面会增加表情、小视频等功能。最近有朋友反馈artEditor是否支持表单提交,当然是支持的,在未开发该功能之前,你可以像下面这样来实现表单提交 新功能:   新增f

  • 我正在寻找一个PDF编辑器,它提供它的插件开发能力,像VSTO插件。 我的目的是什么 利用WPF技术开发了一个文档管理系统,允许用户将文档存储在其中。 此外,我还开发了MS Word和MS Excel VSTO插件作为本产品的一部分,以编辑任何存储在我们应用程序中的Excel和Word文件。 如果用户想要编辑任何不需要的word文件,只需双击它,系统就会将该word文件打开到MS word中,并使

  • 我尝试过创建循环,比如减去用户想要购买的物品的数量,同时计算取值时的模数为0,减去用户购买的数量,但我离它还很远。 数组来自其他方法: 是商品的价格是用户购买的商品数量是用户对折扣的选择,例如,用户可以将折扣设置为2包、3包甚至无。

  • 问题内容: 我有一个快速的问题。我在java中有一个整数数组,需要它的长度在整个类中变化。具体来说,在某些情况下,我需要将其增加一。我这样尝试过。 我会在需要时增加整数变量numberOfSBG,但我认为这不起作用。还有其他办法吗? 问题答案: 我建议您使用ArrayList,因为您不必担心长度。创建后,您将无法修改数组大小: 数组是一个包含固定数量的单一类型值的容器对象。创建数组时将确定数组的长