Как связать коллекцию (ArrayList), возвращенную веб-службой, с JTable в Swing? - PullRequest
0 голосов
/ 23 октября 2009

Я разрабатываю бизнес-приложение на .NET и Java. В .NET я разработал веб-сервис, который использует basicHttpBinding. Я использую этот веб-сервис в клиенте Java. Веб-сервис работает нормально, вызов его в коде Java возвращает коллекцию ArrayList класса Holding. Этот класс описан ниже:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Holding", propOrder = {
    "companyName",
    "price",
    "quantity",
    "scripCode"
})
public class Holding {

    @XmlElementRef(
        name = "CompanyName", 
        namespace = "http://schemas.datacontract.org/2004/07/JavaLIB", 
        type = JAXBElement.class)
    protected JAXBElement<String> companyName;

    @XmlElementRef(
        name = "Price", 
        namespace = "http://schemas.datacontract.org/2004/07/JavaLIB", 
        type = JAXBElement.class)
    protected JAXBElement<String> price;

    @XmlElementRef(
        name = "Quantity", 
        namespace = "http://schemas.datacontract.org/2004/07/JavaLIB", 
        type = JAXBElement.class)
    protected JAXBElement<String> quantity;

    @XmlElement(name = "ScripCode")
    protected Integer scripCode;

    /**
     * Gets the value of the companyName property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getCompanyName() {
        return companyName;
    }

    /**
     * Sets the value of the companyName property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setCompanyName(JAXBElement<String> value) {
        this.companyName = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the price property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getPrice() {
        return price;
    }

    /**
     * Sets the value of the price property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setPrice(JAXBElement<String> value) {
        this.price = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the quantity property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getQuantity() {
        return quantity;
    }

    /**
     * Sets the value of the quantity property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setQuantity(JAXBElement<String> value) {
        this.quantity = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the scripCode property.
     * 
     * @return
     *     possible object is
     *     {@link Integer }
     *     
     */
    public Integer getScripCode() {
        return scripCode;
    }

    /**
     * Sets the value of the scripCode property.
     * 
     * @param value
     *     allowed object is
     *     {@link Integer }
     *     
     */
    public void setScripCode(Integer value) {
        this.scripCode = value;
    }

}

Моя проблема в том, что я не знаю, как связать эти ArrayList<Holding> с JTable - я мало работал над Swing.

Если кто-то может предоставить ссылку на хороший учебник (кроме того, который есть на веб-сайте Sun - я видел это) или может быстро подсказать мне, как реализовать класс TableModel для него, это было бы здорово.

Мне также необходимо получать данные из веб-службы после каждого 5-секундного интервала, поэтому, пожалуйста, предоставьте также учебник, описывающий, как выполнить повторную привязку.

Ответы [ 2 ]

2 голосов
/ 23 октября 2009

Полагаю, этот урок от Sun - это то, что вам нужно. Вы найдете то, что вам нужно для создания JTable, содержащего ваши данные. Некоторые абзацы позже вы также можете найти , как построить TableModel .

Наслаждайтесь!

1 голос
/ 23 октября 2009

Если кто-то может быстро наставить меня, как реализовать класс TableModel для него это было бы здорово.

Проверьте запись BeanTableModel . Хотя я сомневаюсь, что вы сможете использовать BeanTableModel из-за кода JAXBElement, вы должны быть в состоянии использовать пример JButtonTableModel, который показывает, как расширить мой RowTableModel для создания вашей пользовательской модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...