JButton需要使用Array修改8个JTextField。听按钮或文字?

时间:2009-09-06 22:27:12

标签: java arrays jbutton jtextfield

这是家庭作业,这个问题延伸this one

因此,FirstPrevNextLast

都有一个按钮

每个都应该修改

Item ID, Name, Rating, Price, Units, Value, Fee, ValueW/Fee, Total Inventory Value 

最后一个是所有单位的静态总数。

我不确定是否应该让每个按钮执行多次这样的调用。

productName.setText( product.getProductName() );
itemNumber.setText( String.valueOf( product.getItemNumber() ) );

或者让每个JTextArea监听按钮然后更改其字段。这甚至有用吗?

1 个答案:

答案 0 :(得分:1)

为每个按钮注册一个ActionListener。在ActionListener的actionPerformed方法的主体中,获取要显示的项目并将其传递给负责将值设置为文本字段的方法。

类似的东西:

JButton button = new JButton("Next");
button.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        DVDObject obj = getNextDVD();
        populateFields(obj);
    }
});

...

private DVDObject getNextDVD() {
    // gets the next object to display
    // you could call this method for each of the buttons, 
    // passing in an argument that determines which Object
    // to return (first, last, next, previous, whatever)
}

private void populateFields(DVDObject dvd) {
    // write out the values from the object passed in to the
    // fields
}

我猜你有一些包含DVD所有信息的物品集合,我在黑暗中采取了刺戳,并称之为“DVDObject”。