java swing 我在一个按钮上显示图片 但是点击的时候图片不改变 只有重新编译才能变

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java swing 我在一个按钮上显示图片 但是点击的时候图片不改变 只有重新编译才能变相关的知识,希望对你有一定的参考价值。

private void btn_capActionPerformed(java.awt.event.ActionEvent evt)
YanZM yan=new YanZM();

yan.Pic();
ImageIcon img=new ImageIcon("D:/Study/MyEclipse/Workspace/xitong/yanzhengma/随机图片。jpg");
btn_cap = new JButton(img);// 验证码重新获得

参考技术A btn_cap = new JButton(img);// 验证码重新获得
=>

btn_cap.setIcon(img);追问

虽然变了 但是不显示换了的图片了 什么都不显示了

参考技术B 在最后加一句 repaint();追问

还是不行 按键上显示的还是原来的图片

在 java swing 组件上绘制边框

【中文标题】在 java swing 组件上绘制边框【英文标题】:Drawing borders on a java swing component 【发布时间】:2013-12-30 05:39:04 【问题描述】:

我在 java swing 中有一个 UI 要求,我需要实现以下目标:

顶部的 2 个按钮放置在 JPanel 中。我需要在该面板的中心画一条线,直到 2 个按钮的开头。下面的面板是以卡片布局排列的面板容器。当点击按钮时,卡片会切换显示另一个面板。

所以在所有方面这看起来都像一个 JTabbedPane,但有一个区别,选项卡是排列在选项卡式窗格中心的按钮。我正在构建的 UI 需要这种差异。

到目前为止,按钮和卡片布局面板如下所示

如您所见,按钮和面板出现并且看起来是分开的,相反,如果它们看起来像代表一个单元那样会很好。

【问题讨论】:

看起来确实更适合成为JTabbedPane.. 您可以参考How to Use Borders(例如“创建自定义边框”),但您应该编辑并包含您当前的代码。 ***.com/a/20663571/597657 【参考方案1】:

如您所见,按钮和面板出现并且看起来是分开的,相反,如果它们看起来像是代表一个单元,那就太好了。

将边框放在外面板周围。那就是使用带有 BorderLayout 的面板。这个面板可以有一个 LineBorder。然后将按钮面板添加到 NORTH,将具有 CardLayout 的面板添加到 CENTER。

线条不会通过按钮绘制,但按钮和面板将显示为它们在单元上的代表。

【讨论】:

以上是关于java swing 我在一个按钮上显示图片 但是点击的时候图片不改变 只有重新编译才能变的主要内容,如果未能解决你的问题,请参考以下文章

在 java swing 组件上绘制边框

java swing 编程中,如何实现点击按钮弹出新的窗口???

带有 keylisteners 的 Java swing gui 程序在 linux 中不起作用

在 Java Swing 中取消选择单选按钮

java swing中怎么实现点击jframe的关闭按钮后,弹出提示框?

JAVA SWING 用了JDialog的模态窗口后,为啥监听器没反应了?