因此,我正在编写一个程序,在这个程序中,我最终希望一个按钮在按下时改变颜色。到目前为止,我的困境是:
-尽管切换了setOpaque()和setContentAreaFilled()的真/假,但我无法获取当前设置为显示背景色的JButton。在尝试添加ActionListener之前,我希望能够做到这一点。
-我想用类似于JToggleButton()的东西来改变颜色,但是我想用背景而不是图标来改变颜色。
我正在使用mac,我想知道它是否与默认按钮设置有关,但我不知道如何更改/覆盖这些。
我会发布一个截图,但不幸的是我的声誉还不够高。
下面是我得到的一个例子:
import java.awt.*;
import javax.swing.*;
public class Example extends JFrame {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
public static void createAndShowGUI() {
JFrame main = new JFrame("Example");
JPanel content = new JPanel();
JButton button = new JButton("Press");
button.setBackground(Color.orange);
button.setContentAreaFilled(false);
button.setOpaque(true);
content.add(button);
main.setContentPane(content);
main.setVisible(true);
main.setSize(40,60);
main.setLocation(500, 200);
main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
对于那些(可能在windows或linux平台上)看不到我在说什么的人来说,按钮会出现,按钮后面的布局(不是边框或JPanel,只是按钮周围的一个小矩形)会根据指定的内容着色。
提前感谢您抽出时间。
另外,我知道在ActionListener中,getSource()方法将返回与按钮关联的文本。是否有任何方法可以使用类似的东西从ActionListener内部更改按钮的颜色,或者这个想法只是一种冗余,可以用更简单的方式完成。
非常感谢。
我想那是按钮。set不透明(true)
是不必要的。
删除它,或将其更改为:
button.setOpaque(false);
并查看发生了什么
我最终希望JButton在按下时改变颜色
这里有两种不同的方式(注意JButton在UIManager中有一个颜色数组)
>
覆盖ButtonModel中的事件(实现ChangeListener或相同的方法,例如在JButtons API中进行压缩、设置),加速器对鼠标和按键有效(选择或聚焦窗口)
覆盖基本按钮NUI(用于实际项目)
我正在使用mac,我想知道它是否与默认按钮设置有关,但我不知道如何更改/覆盖这些。
我想你想在外观和感觉上做点什么。尝试
button.setUI(new MetalButtonUI());
或者为按钮尝试其他支持背景色的UI。
背景,就是衬在文字和前景后面显示的东西。KAG 中(默认设定)的是读入 640×480 大小的背景图片。 首先,将想要显示的 640×480 的图片放进 bgimage 文件夹中。把图片命名为 bg0.jpg 。KAG 的 LZH 档里并没有包含背景图片,请自己准备一张吧(^^) 接着,把在 显示文字相关 里所使用的剧本档(first.ks)内容修改成以下这样。 [imagestorage=
问题内容: 这是一个非常简单的程序,我已尽力而为,但JPanel并未提供背景图片。我只希望面板上有一个简单的背景图像。 这是我的代码: 提前致谢 问题答案: 更换 与
问题内容: 可以说我创建了一个带有jbutton的2d瓦片地图,然后在地图顶部创建了单位,当单位(也是jbutton)位于瓦片顶部时,有一种方法可以显示地图背景,因为现在单元的背景只是被涂成红色,是否可以通过jbuttons而不是jbuttons来做到这一点? 问题答案: 可能,是的,建议这样做,嗯,可能不是。 我相信您将需要将标题按钮的布局更改为可以控制的内容(这将取决于您的视觉要求)。 我个人
问题内容: 我有一个Swing JButton,我的项目也使用了以下代码: 现在,当尝试使用一个按钮更改背景时,它不会变成红色,只有边框变成红色。 在仍用于其余组件/项目时,如何将背景变为红色? 问题答案: 看一下错误4880747:XP L&F:REGRESSION:JButton上的setBackground设置Windows XP中的边框颜色 。评估部分指出: 更改按钮的外观总是会导致与当前
我如何设置一个按钮的活动背景颜色在swing,Java?Active background color是单击按钮时按钮背景的颜色。
输入新的指令 之前已经说过,脚本是以行为单位,顺序往下执行的。 也就是说,假如填写了“显示背景”,之后下一行“显示人物”,接着继续“显示对话框”、“显示对话”,按照这样的顺序,就可以做出“人物在场景里出现并说话”的效果。 接下来就来实际试试吧。 首先关掉刚刚的记事本,重新在脚本编辑器里打开“prelogue.ks”这个文件,进入脚本的图形化编辑界面。 然后点击选中第6行,也就是“(到达文件末端)”