场景:-
- 创建了一个
jlist
,包含特定的值。 - 需要将
Object test_jL = jlist.getSelectedValue();
传递给JPanel.add(test_jL)
字面上不可能,因为 add() 接受 组件
仅类型
这是我想要做的:-
Object test_jList = jXList1.getSelectedValue();
JPanel.removeAll();
JPanel.add(test_jList); // doesn't matter, as it won't accept an Object type
JPanel.repaint();
JPanel.revalidate();
问题是:- Object
类型可以转换为 Component
类型吗?
我可能听起来像个菜鸟,但我正在努力扩展我在 Java 方面的知识,所以期待您的建议和想法来构建解决问题的场景。感谢您的宝贵时间!!!
最佳答案
在 Java 中,您可以尝试将任何对象转换为共享相同继承的任何其他对象。 Object 是 Java 中每个 Object 的父类(super class),因此如果 someOtherObject
被声明为 Object 类型,您可以合法地声明 MyObject myObj = (MyObject) someOtherObject;
。
如果在运行时,someOtherObject
是 MyObject 类型,则此转换将起作用并且流程将继续。但是,如果它是其他一些不与 MyObject
类型共享继承的类型,那么您将得到一个 ClassCastException。在运行时(您可以捕获并使用react)。
关于java - 对象类型可以转换为组件类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31082591/