Swing JToolbar 按钮按下

2023-11-26

我使用 JToolbarButton 按钮,我想让它在单击时被“按下”,就像 JButton 一样。我该怎么做? 请帮忙!谢谢。


正如科斯蒂斯的回复中提到的,您可能正在追求JToggleButton。可能还需要抑制边框的绘制,如本示例中的第二个工具栏所示。

Toggle Bar

import java.awt.*;
import java.awt.image.*;
import javax.swing.*;

class ToggleBar {

    public static JToggleButton getButton(
        Image selected,
        Image unselected,
        boolean decorated) {

        JToggleButton b = new JToggleButton();
        b.setSelectedIcon(new ImageIcon(selected));
        b.setIcon(new ImageIcon(unselected));
        b.setBorderPainted(decorated);

        return b;
    }

    public static Image getCircleImage(Color c) {
        BufferedImage bi = new BufferedImage(
            32,32,BufferedImage.TYPE_INT_ARGB);
        Graphics2D g = bi.createGraphics();

        g.setColor(c);
        g.fillOval(0,0,32,32);

        g.dispose();
        return bi;
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater( new Runnable() {
            public void run() {
                Image red = getCircleImage(Color.RED);
                Image green = getCircleImage(Color.GREEN);

                JPanel p = new JPanel(new GridLayout(0,1));

                JToolBar tb1 = new JToolBar();
                for (int ii=0; ii<5; ii++) {
                    tb1.add( getButton(red, green, true) );
                }
                p.add(tb1);

                JToolBar tb2 = new JToolBar();
                for (int ii=0; ii<5; ii++) {
                    tb2.add( getButton(red, green, false) );
                }
                p.add(tb2);

                JOptionPane.showMessageDialog(null, p);
            }
        });
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swing JToolbar 按钮按下 的相关文章

  • 添加 TableRowSorter 将值添加到模型后会导致 java.lang.IndexOutOfBoundsException:无效范围

    将 TableRowSorter 添加到表及其相应模型后 任何相应的添加 专门在 firetabletablerowsinserted 处 都会导致异常 从测试中可以清楚地看出 GetRowCount 返回的值超出了模型范围 但是 在添加排
  • Netbeans 中的方法必须调用 super() 错误

    最近我做了一个 Netbeans 项目 并使用 SVN 来配合它 我看到重复的类错误 并在控制台中显示 java lang VerifyError class pie chart explorer PieChartExplorer meth
  • 如何在 JTextArea 中查找光标位置

    有人会帮我找到 JTextArea 中以像素为单位的光标位置吗 我用过txtArea getCaretPosition 但这不是我所期望的位置 实际上我想要光标位置在x y像素坐标 TextUI http download oracle c
  • GridLayout 之上的 FlowLayout 不起作用

    我正在尝试创建一款刽子手游戏 到目前为止 它进展顺利 但布局设计似乎不太到位 字母表应该以FlowLayout命令位于刽子手图片顶部 底部有 重新启动 帮助 添加新单词 和 退出 按钮 我究竟做错了什么 import java awt im
  • Java Swing透明JPanel问题

    我有一个 JLayeredPane 其中添加了 3 个 JPanel 我将 JPanel 设为透明 未设置背景并 setOpaque false 我在 JPanel 上绘制线条 只有最后添加的 JPanel 上的线条可见 其他 JPanel
  • 如何操作指定列上的 JTable 返回值?

    我有一个 JTable 有两列 可编辑的JTable 当用户在第二列中输入内容时 我的要求如下 用户只能输入数字和逗号 当用户输入错误字符时 会发出蜂鸣声 Toolkit getDefaultToolkit beep 我该如何实现这一目标
  • 在运行的 Swing 应用程序中替换 AWT EventQueue 的安全方法

    我维护的 Swing 应用程序中的各种零星问题似乎是由它使用自己的自定义版本替换默认 AWT 事件队列的方式引起的Toolkit getDefaultToolkit getSystemEventQueue push new AEventQu
  • JTextArea - 双击/三次单击 + 移动鼠标的选择行为

    问题 当您双击 JTextArea 中的单词时 它会被标记 但是当您不释放鼠标按钮并尝试标记下一个单词时 它不会标记整个单词 而是标记单个字符 移动鼠标 双击 时 它应该标记整个单词 而不是单个字符 这实际上是我尝试过的所有程序的默认行为
  • 带有面板的 Java Swing JToolbar:外观和感觉

    我有一个JToolbar其中包含多个JPanels 需要 因为我希望每个都有特定的边界 不幸的是 外观管理器无法识别JPanels属于工具栏和JButtons因此 渲染器与普通按钮一样 即没有工具栏上的特殊鼠标悬停效果 更换JPanels
  • 更改 JTextPane 的大小

    我是Java新手 刚刚在StackOverflow中找到了这段代码 ResizeTextArea https stackoverflow com questions 9370561 enabling scroll bars when jte
  • 如何根据从 jtextfield 和组合框接收的值将数据行添加到 Jtable

    我有一个JFrame表格有JTextFields JCombobox等等 我能够将这些值接收到变量 现在我想将接收到的数据添加到JTable当用户单击 添加 或类似的操作时在新行中 我创造了JTable使用 net beans 的问题是将这
  • 从侦听器中修改 JFrame [重复]

    这个问题在这里已经有答案了 可能的重复 如何在框架可见后调用 setUndecorated https stackoverflow com questions 875132 how to call setundecorated after
  • Java LostFocus 和 InputVerifier,按反向制表符顺序移动

    我有一个 GUI 应用程序 它使用 InputVerifier 在产生焦点之前检查文本字段的内容 这都是很正常的 然而 昨天发现了一个问题 这似乎是一个错误 但我在任何地方都找不到任何提及它的地方 在我将其报告为错误之前 我想我应该问 我在
  • 如何在JPanel中设置背景图片

    你好 我使用 JPanel 作为我的框架的容器 然后我真的想在我的面板中使用背景图片 我真的需要帮助 这是我到目前为止的代码 这是更新 请检查这里是我的代码 import java awt import javax swing import
  • 顽固的 JComboBox

    我有一个 JComboBox 如下面的代码所示 当程序启动时 其 actionPerformed 事件立即触发 导致一些空指针异常 因此我想从不选择任何元素的情况开始 但是 由于某种原因它不起作用 无论我做什么 它总是以显示 USD TRY
  • Java Swing For mac 中的 DJ Native Swing 浏览器

    我有一个用 Swing 制作的 Java 应用程序 并且使用了一个 DJ Native Swing 浏览器 当我尝试在 OS X 上使用它时 它抛出了一个NoClassDefFoundError尽管我添加了 swt jar 但始终如此 有人
  • JMenu 中的文本居中

    好吧 我一直在网上寻找有关此问题的帮助 但我尝试的任何方法似乎都不起作用 我想让所有菜单文本都集中在菜单按钮上 当我使用setHorizontalTextPosition JMenu CENTER 没有变化 事实上 无论我使用什么常量 菜单
  • 为什么 instanceof 不能与 JPanel 和 JComponent 一起使用?

    我觉得我在这里错过了一些非常明显的东西 对于 Java 大师来说是很容易实现的目标 我的代码如下所示 private static void myFunc JComponent c if c instanceof JPanel stuff
  • Java .drawImage:如何“取消绘制”或删除图像?

    我需要在程序运行时不断在不同位置重绘某个图像 因此 我设置了一个 while 循环 该循环应该在屏幕上移动图像 但它只是一遍又一遍地重新绘制图像 我究竟做错了什么 有没有办法在将旧图像绘制到新位置之前删除旧图像 JFrame frame b
  • JTable 和 JScrollpane 大小的问题

    我有一个JScrollPane with a JTable在里面 在里面JTable我最初有 3 行 稍后添加行 默认JTable我的 3 行很难看 因为JScrollPane calls getPreferredScrollableVie

随机推荐

  • Delphi XE下的工具栏2000?

    旧的 Toolbar 2000 软件包 最好带有 TBX 扩展 是否可以在 Delphi XE 下编译和工作 现在有人使用 Tb2k 和 TBX 吗 TB2K 和 TBX 可以编译吗 Toolbar2000 可以 它被用作 SpTBX 的一
  • 使用 pandas 滚动的滑动窗口迭代器

    如果它是单行 我可以得到迭代器如下 import pandas as pd import numpy as np a np zeros 100 40 X pd DataFrame a for index row in X iterrows
  • Pandas groupby 排名日期时间

    我遇到了关于日期时间排名的问题 可以说我有下表 ID TIME 01 2018 07 11 11 12 20 01 2018 07 12 12 00 23 01 2018 07 13 12 00 00 02 2019 09 11 11 00
  • setOrientationHint 在某些手机的前置摄像头 (HTC) 上逆时针旋转视频

    问题 某些 Android 设备 在问题底部列出 在使用setOrientationHint int degrees 功能用于使用前置摄像头拍摄的视频 预期的行为是视频顺时针旋转 但这些设备逆时针旋转视频 My Goal 识别相机设置或硬件
  • OpenGL ES GL_TEXTURE_RECTANGLE

    有谁知道OpenGL ES是否支持GL TEXTURE RECTANGLE 我计划将它用于 2D 图形以支持非二次幂图像 我当前的实现使用 alpha 0 填充的 POT 纹理 对于拉伸图像效果不佳 它适用于 OpenGL 但我们也计划将其
  • laravel eloquent 中 select() 和 get() 的区别

    使用 laravel eloquent 模型时 get 和 select 方法有什么区别吗 哪种方法更快 是 有一点不同 select 仅用于定义您想要的列 get 用于实际获取结果 gt 执行查询 它还允许您指定列 DB table fo
  • 使用 int[][] 和 int[] 有什么区别? [复制]

    这个问题在这里已经有答案了 来自 perl 背景 我总是使用定义一个 2D 数组int 我知道你可以使用int 那么有什么区别呢 这里的区别在于第一个样本 int 创建了一个锯齿状阵列 而第二个则创建一个矩形阵列 维度 2 在锯齿状数组中
  • MEMORY_BASIC_INFORMATION 结构中的 BaseAddress 和 AllocationBase 有什么区别?

    在 MSDN 中我发现以下内容 BaseAddress 指向页面区域基地址的指针 AllocationBase 指向由 VirtualAlloc 函数分配的一系列页面的基地址的指针 BaseAddress成员指向的页包含在这个分配范围内 但
  • 如何在玉中的链接内添加条件?

    如何在 jade 中的标签内部添加条件 在我的例子中是链接 锚点 这是我的伪代码 当然行不通 a href foo class if current route 1 foo active Go to Foo 怎么样 a href foo c
  • iOS (Safari) 中的 Flutter Web 状态栏

    我尝试更改 safari 浏览器中的状态栏 我搜索了它 有很多关于它的问题 但没有一个解决我的问题 我试过更改状态栏颜色 and 如何更改 chrome 标题颜色 这个蓝色区域位于 iPhone 的凹口周围 我想更改整个应用程序的颜色 感谢
  • css3 跨浏览器不透明度

    我找不到应用 css 跨浏览器不透明度的方法 IE7里有什么好东西 IE8里就别去了 反之亦然 谢谢 d opacity 0 5 filter alpha opacity 50 try this
  • MVCBuildViews 无法正常工作

    因此 我在 MVC 3 RTM 应用程序上编辑了 csproj 文件以设置以下属性
  • Objective-C 优化

    Objective C 是否有标准的优化技巧 可以沿着 C 或 g fast 标签中的 内联 频繁方法加快执行速度 编辑 当 theMethod 有两个 或更多 整数用于输入时 是否有人有一个使用 SEL 和 IMP 的简短示例 这是一个小
  • Netbeans 扫描项目太慢

    我使用 netbeans 7 3 1 我在这里找到了一种使 netbeans 更快的方法 如何提高 Netbeans 性能 但我的问题是我的netbeans因项目扫描而变慢 projectcanning对于软件很重要吗netbeans 我的
  • 如何向 gcc 提供有关循环计数的提示

    了解循环将经历的迭代次数允许编译器进行一些优化 例如考虑下面的两个循环 未知迭代次数 static void bitreverse vbuf desc vbuf unsigned int idx 0 unsigned char img vb
  • 未终止字符串文字的常见来源[重复]

    这个问题在这里已经有答案了 我正在尝试调试一个在 Firefox 扩展中读取并执行的 JavaScript 脚本 我只能通过 Firebug 控制台看到错误 我的代码对 Firebug 不可见 并且它报告 未终止的字符串文字 我检查了该行及
  • 使用 Nokogiri 获取节点的兄弟节点

    有没有办法找到节点中的特定值 然后返回其所有兄弟值 例如 我想找到id包含 ID 5678 的节点 然后获取电子邮件地址以及与 ID 5678 关联的所有图像 Nokogiri XML parse File open info xml 这是
  • 速率限制以防止 ExpressJS 中的恶意行为

    有人让我意识到我正在开发的应用程序中存在一些缺陷 主要是在前端的 JavaScript 中 这使得有可能同时单击大量按钮并发送大量事务电子邮件 这显然不好 我认为在 ExpressJS 中处理这个问题的一种方法是使用app all 计算在特
  • jQuery 1.4.2 - $("#foo").hide("normal") 坏了还是我疯了?

    有谁知道为什么 hide normal 似乎不能在 jQuery 1 4 2 中工作 这是一个错误 它已被删除还是我只是疯了 我已经成功地使用几种不同的场景来复制此内容 试试这个
  • Swing JToolbar 按钮按下

    我使用 JToolbarButton 按钮 我想让它在单击时被 按下 就像 JButton 一样 我该怎么做 请帮忙 谢谢 正如科斯蒂斯的回复中提到的 您可能正在追求JToggleButton 可能还需要抑制边框的绘制 如本示例中的第二个工