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?
@Sinclair,是的,那是一个错字。 – camickr
哦。我是一个月的乞丐,所以在我问了三天之前,我感到痛苦。谢谢你的回答! :) –