java - 对象类型可以转换为组件类型吗?

标签 java swing jlist jcomponent

场景:-

  1. 创建了一个jlist,包含特定的值。
  2. 需要将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/

相关文章:

java - JList 覆盖单元格的 toString 以正确显示

java - SSL 如何保护数据免遭嗅探?

java - 有没有 "UNIVERSAL"方法来初始化对象数组? ( java )

java - JComponent不同子类所需显示空间的计算

java - 任何用于在 Swing 应用程序中嵌入电影的简单(和最新的)Java 框架?

java - JList 换行问题

java.io.NotSerializedException : sun. nio.fs.WindowsPath - 如何修复它?

java - 如何使用 BorderLayout 排列组件?

java - 启动 Thread 或进行计算的 SwingWorker 时的 Swing 伪 block

java - 将 MP3 播放列表保存到文件