【问题标题】:Swing : Object cannot be converted to StringSwing:对象无法转换为字符串
【发布时间】:2018-05-30 18:57:58
【问题描述】:

我有一个转换问题;我的变量 CodeA 是字符串类型

col.setCodeA((Collabo)jComboBoxAlbum.getSelectedItem());

我的错误信息是Object cannot be converted to String 在这种情况下如何转换我的变量 CodeA?

Collabo col = new Collabo();
        col.setCodeA((Collabo)jComboBoxAlbum.getSelectedItem());
        boolean ok = daoCol.insertCollabo(col);
        if (!ok)
            JOptionPane.showMessageDialog(null,"Insertion impossible !","Avertissement",JOptionPane.ERROR_MESSAGE);
        this.dispose();

这是我的班级协作:

public class Collabo {
    private String codeA;
    private Musicien mutApp;
    private Instrument insApp;


    public Collabo(String codeA, Musicien mutApp, Instrument insApp) {
        this.codeA = codeA;
        this.mutApp = mutApp;
        this.insApp = insApp;
    }

    public String getCodeA() {
        return codeA;
    }

    public void setCodeA(String codeA) {
        this.codeA = codeA;
    }

    public Musicien getMutApp() {
        return mutApp;
    }

    public void setMutApp(Musicien mutApp) {
        this.mutApp = mutApp;
    }

    public Instrument getInsApp() {
        return insApp;
    }

    public void setInsApp(Instrument insApp) {
        this.insApp = insApp;
    }

    public String toString() {
        return codeA;
    }    

【问题讨论】:

  • 也许尝试首先将组合框中的选定项目存储到明确定义为 String 的变量中,然后将 setCodeA 与新创建的变量一起使用?
  • 那么您希望如何从Collabo 转换为StringCollabo 中的 toString 方法会做你想做的事吗?如果是这样,你可以叫它吗?

标签: java swing


【解决方案1】:

假设您的 jComboBoxAlbum 包含 Collabo 类型的对象(因为您将结果转换为该类型),并且您希望将新 Collabo 实例的字符串设置为与所选项目中的字符串相同,只需调用选中项的 getCodeA() 方法:

Collabo col = new Collabo();
Collabo selected = (Collabo)jComboBoxAlbum.getSelectedItem();
col.setCodeA(selected.getCodeA);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-28
    • 2019-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多