我已经在互联网上检查了可能导致此错误的原因......但我并不幸运。我的代码基本上从JTextField和JComboBox获取文本,并在用户按下按钮时将其传递给JTextArea。那是代码......
final JTextField quant = new JTextField(3);
final JTextArea list = new JTextArea(10,30);
list.setEditable(false);
JPanel entry = new JPanel();
entry.add(quant);
entry.add(optionProds);
JButton adiciona = new JButton("Adicionar");
entry.add(adiciona);
entry.add(list);
adiciona.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
list.setText(optionProds.getSelectedItem().toString() + "-" + quant);
System.out.print(list.getText());
}
});
finalAction.add(entry);
问题在于,当我按下按钮时,JTextArea将不会显示产品名称及其数量,而是显示以下文字:
加托-javax.swing.JTextField中[,134,8,37x20,布局= javax.swing.plaf.basic.BasicTextUI中$ UpdateHandler,alignmentX = 0.0,alignmentY = 0.0,边界= javax.swing.plaf.BorderUIResource $ CompoundBorderUIResource @ 2034094f,旗帜= 296,MAXIMUMSIZE =,=的minimumSize,首选大小=,caretColor = sun.swing.PrintColorUIResource [R = 51,G = 51,b = 51],disabledTextColor = javax.swing.plaf.ColorUIResource [R = 184,G = 207,b = 229],可编辑=真,裕度= javax.swing.plaf.InsetsUIResource [顶= 0,左= 0,底部= 0,右= 0],selectedTextColor = sun.swing.PrintColorUIResource [ R = 51,G = 51,b = 51],selectionColor设置= javax.swing.plaf.ColorUIResource [R = 184,G = 207,b = 229],列= 3,columnWidth时= 11,命令=,=的HorizontalAlignment LEADING ]
导致这种情况的原因是什么?
答案 0 :(得分:3)
使用
list.setText(optionProds.getSelectedItem().toString() + "-" + quant.getText());
而不是
list.setText(optionProds.getSelectedItem().toString() + "-" + quant);
为什么要打印quant
? quant是jtextfiled
。这不是错误。这是你打印jcomponent时得到的。当你打印一个jcomponent时,你得到属性和值,如位置,边框,边距......等。所以你应该使用getText()
方法