我需要更改 Jcomponents 中的文本,这些文本排列在 JPanel 上的坐标 x 和 y 处。但是,如果我在任何地方更改文本,除了 TextFields 或 PasswordFields,元素的位置和尺寸就会滑动。
监听器,改变元素的参数
private TextListener textListener = new TextListener() {
@Override
public void textValueChanged(TextEvent e) {
if (comp.getClass() == JButton.class) {
((JButton)comp).setText(ttext.getText());
}else{
if(comp.getClass() == JTextField.class){
((JTextField)comp).setText(ttext.getText());
}else{
if(comp.getClass() == JPasswordField.class){
((JPasswordField)comp).setText(ttext.getText());
}else{
if(comp.getClass() == JTextArea.class){
((JTextArea)comp).setText(ttext.getText());
}else{
if(comp.getClass() == JCheckBox.class){
((JCheckBox)comp).setText(ttext.getText());
}else{
((JRadioButton)comp).setText(ttext.getText());
}
}
}
}
}
try{
comp.setBounds(tx,ty,Integer.valueOf(twidth.getText()),Integer.valueOf(theight.getText()));
}catch(NumberFormatException ex){
JOptionPane.showMessageDialog(null,"Error","Error",JOptionPane.ERROR_MESSAGE);
}
comp.repaint();
}
};
我能做些什么?谢谢!