JTextField从左至右的数字顺序

问题描述:

我正在试图制作计算器,并且我对JTextField有问题。当我点击像1,2,3,4,5这样的数字(JButtons)时,它们就会出现在JTextField上,如54321。那么,我怎样才能改变这个来显示12345而不是54321?JTextField从左至右的数字顺序

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); 

难道你真的想在这之前你问的问题?

你在你的代码的控制,所以你应该明白你的代码是这样做的:

parent.setDisplayValue(clickedBtnValue + displayValue); 

的代码是做你告诉它到底是什么做的 - 按钮文本在现有文本之前追加。

如果你不喜欢它显示的方式,那么你可以尝试:

parent.setDisplayValue(displayValue + clickedBtnValue); 

如果你想有一个更好的解决方案,你可以使用replaceSelection(...)方法中示范:How to add a shortcut key for a jbutton in java?

+0

@Sinclair,是的,那是一个错字。 – camickr

+0

哦。我是一个月的乞丐,所以在我问了三天之前,我感到痛苦。谢谢你的回答! :) –