【发布时间】:2018-12-09 11:24:11
【问题描述】:
我正在使用 Jython 和 Swing 开发一个跨平台桌面应用程序,但遇到了问题。
我想开发一个按钮,允许我在其背景中加载图像并在我重新单击加载的图像时更改它。
我附上一些图片作为示例,说明我希望我的小部件如何。
然后,当我加载图像时:
我尝试了以下代码:
fd = FileDialog(self, "Scegli un'immagine", FileDialog.LOAD)
fd.setFile(';*.'.join(("*.bmp","jpg","jpeg","wbmp","png","gif")))
fd.setVisible(True)
fileName = fd.getFile()
if fileName != None :
fileAbsPath = os.path.abspath(fileName)
"""'self.bigDict['imgButton']' is the current JButton"""
self.bigDict['imgButton'].setIcon(ImageIcon(fileAbsPath))
当我点击“打开”时,图像没有插入到按钮中。我不明白为什么。
我还尝试了以下代码:
if fileName != None :
fileAbsPath = os.path.abspath(fileName)
img = ImageIO.read(getClass().getResource(fileAbsPath))
self.bigDict['imgButton'].setIcon(img)
上例报如下错误:
img = ImageIO.read(getClass().getResource(fileAbsPath))
类型错误:getClass():预期 1 个参数;得到 0
我很想知道为什么按钮没有随着加载的图像而更新,以及为什么在 java 中不会发生上述错误。
提前致谢!
【问题讨论】:
-
那就开始尝试吧。我们为您提供帮助。我们不会为您绘制整个地图,也不会为您的愿景进行编码工作。
-
你绝对是对的。我编辑是为了让人们了解我到目前为止所做的事情。
-
我又改正了还是现在可以了?
标签: java swing awt jfilechooser jython-2.7