当前位置: 首页 > 知识库问答 >
问题:

JTextField从左到右的数字顺序

白志勇
2023-03-14

我正在尝试制作计算器,但我对JTextField有一个问题。当我点击数字(JButtons),比如1,2,3,4,5,它们就会出现在JTextField上,比如54321。那么,我怎样才能把它改成12345而不是54321呢?

public void actionPerformed(ActionEvent e) {

    JButton clickedButton = (JButton) e.getSource();


    String displayValue = parent.getDisplayValue();

    String clickedBtnValue = clickedButton.getText();

    parent.setDisplayValue(clickedBtnValue + displayValue); 
contentPane = new JPanel();
    textField = new JTextField(30);
    textField.setAlignmentX(Component.LEFT_ALIGNMENT);
    contentPane.add(textField);
    textField.setHorizontalAlignment(JTextField.RIGHT);
    textField.setBounds(10, 11, 152, 32);
    textField.setColumns(1);
    textField.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
    textField.addActionListener(eng);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 184, 312);

    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    setContentPane(contentPane);
    contentPane.setLayout(null);

共有1个答案

蒋华美
2023-03-14

问这个问题之前你真的想过吗?

你控制着你的代码,所以你应该了解你的代码在做什么:

parent.setDisplayValue(clickedBtnValue + displayValue); 

代码完全按照您的指示进行操作--按钮文本被附加在现有文本之前。

如果您不喜欢这样显示,可以尝试:

parent.setDisplayValue(displayValue + clickedBtnValue); 

如果想要更好的解决方案,可以使用replaceSelection(…) 方法,如中所示:如何在java中为jbutton添加快捷键?

 类似资料:
  • 问题内容: 是否有更改此文本的CSS代码 到这个 问题答案: 尝试这个 编辑:将此类应用于段落标记,您应该得到想要的结果。

  • 这是一个面试问题。 我们希望按it级别打印二叉树,但有一些变化: 在偶数级别,打印将从左到右。 在奇数级别,打印将从右到左。 我试着使用这里的代码(正常的级别顺序遍历,方法2)只做了一些保持级别的更改(用于知道是从左到右打印还是从右到左打印),当然还添加了相关的条件,以便在正确的方向上打印。 不幸的是,我下面的代码在不小的树上不能很好地工作--我有一个问题,就是理解如何在循环中以正确的顺序存储节点

  • 如您所见,GravityCompat不允许我放右而不是结束或开始,如果我把它放入XML中,它就会崩溃。 出现下一个错误:

  • 我读过segues上的其他帖子,但没有一篇能解决我的问题。 简单地说,我的ViewController就像一本书一样被订购。我希望从左到右的向后过渡(例如:从第9页到第8页)始终存在(滑动)。我想从右到左向前过渡(从第9页到第10页)。 是的,如果您一页接一页地分页,我的导航控制器后退按钮(左上角)会显示为这样。但是,如果您从索引跳入,那么导航控制器上的后退功能会将您带回索引。 我的目标是,如果用

  • 谢了! 插图图像

  • 执行从左到右的函数组合。 使用Array.reduce()与展开操作符(...)来执行从左到右的函数组合。第一个(最左边的)函数可以接受一个或多个参数;其余的函数必须是一元函数。 const pipeFunctions = (...fns) => fns.reduce((f, g) => (...args) => g(f(...args))); const add5 = x => x + 5;