当前位置: 首页 > 知识库问答 >
问题:

如何在JButton上使用ActionListener来更改JPanel容器中JLabel组件的背景?

刘阳舒
2023-03-14

我正在使用JFrame Gui,还没有找到使用事件处理程序actionlistener更改JLabel背景的方法。主要的问题是我创建了一个JPanel,里面有4个JLabel。我不确定为什么不能使用JPanel容器中的JLabel变量。我已经尝试为JLabel创建一个字段,但是当我尝试使用该字段时,它返回null。getBackground()方法。我还尝试使用for循环获取JPanel的html" target="_blank">组件,并通过该循环更改标签。到目前为止没有什么,希望这个问题有意义,请帮助我理解这一点。

https://i.stack.imgur.com/Hnoj5.png此图像显示了重构的方法,其中包含我的JPanel容器及其4个JLabel组件。

https://i.stack.imgur.com/Gw7Xs.png此图像显示了我的代码的actionlistener部分。

共有1个答案

简培
2023-03-14

为什么不先声明一个jframe呢?示例

JFrame frame = new JFrame();

然后在那之后创建一个JPanel。

JPanel panel = new JPanel();

然后在jboard中添加你的jtag和其他东西,然后就可以调用你的jframe了。

例子

frame.add(panel);

我有相同的项目之前,我们的问题的唯一区别是,我忘记使用JPanel,但我有一个JFrame。首先创建一个JFrame。

 类似资料:
  • 问题内容: 我有一个Swing JButton,我的项目也使用了以下代码: 现在,当尝试使用一个按钮更改背景时,它不会变成红色,只有边框变成红色。 在仍用于其余组件/项目时,如何将背景变为红色? 问题答案: 看一下错误4880747:XP L&F:REGRESSION:JButton上的setBackground设置Windows XP中的边框颜色 。评估部分指出: 更改按钮的外观总是会导致与当前

  • 我到处寻找答案,但一无所获。我不知道是否还有人以前有过这个问题,但我感谢所有的帮助,谢谢。 我有一个100乘100的标签网格,让我解释一下我是如何创建的。我有一个创建和填充Strings数组的方法。下一个方法创建一个标签数组,然后使用setText()方法将String(从上一个方法创建)添加到标签中。之后的方法获取这些JLabels,并将它们添加到网格布局的J面板中。然后,我将JPanel添加到

  • 我有JPanel,它包含: JButton和JLabel,其中设置了图片 我想把按钮放在JLabel顶部的北中心位置。目前它的设置彼此相邻,我不知道如何覆盖JLabel。 我在这里尝试了许多解决方案,但是它似乎并不完全按照我想要的方式工作。谢谢! 更新:按钮放在JLabel的顶部,但不在里面。

  • 我试图在JFrame中更改JPanel的背景。JFrame由JPanels组成,很像一个网格。我试图改变JFrame中的一个随机JPanel,并查看循环中每一次的颜色变化。 如果取消对panel.add(individualPanel)行的注释,这将显示颜色变化,但它会不断向JFrame添加越来越多的JPanels。但是,注释这一行可以让我更改颜色,但不会显示JFrame中的任何更改。我试着修改了

  • 问题内容: 如何将动作侦听器添加到这些按钮,以便可以从主要方法调用actionperformed它们,因此单击它们时可以在程序中调用它们? 问题答案: 两种方式: 1.在你的类中实现,然后使用; 稍后,你必须定义一个方法。但是,对多个按钮执行此操作可能会造成混淆,因为该方法将必须检查每个事件()的来源以查看其来自哪个按钮。 2.使用匿名内部类: 稍后,你必须定义。当你有多个按钮时,这样做效果更好,

  • 问题内容: 我有一个位于JButton顶部的JLabel,但它不会显示在顶部。注释掉JButton的代码后,将显示JLabel,这意味着它在其中,但在底部。有没有办法在JButton的顶部显示JLabel? 任何帮助都是极好的。谢谢! 编辑: 为了澄清起见,我需要在游戏中使用该按钮,单击该按钮时,按钮上方会显示一个JLabel,以显示添加的“得分”。在我的游戏中,JLabel将比JButton小,