问题标签 [swing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
11509 浏览

java - 将键盘事件从 java 发送到任何应用程序(屏幕键盘)

我正在用java开发一个屏幕键盘。该键盘具有JComponent适用于所有可能的键。当在按钮上检测到鼠标按下时,我想将特定的键盘代码发送到当前处于焦点的应用程序。键盘本身JFrame没有任何装饰,并设置为始终在顶部。

我发现 Robot 类可以用来模拟原生队列上的这些键盘事件。但是,在这种情况下,选择JComponent将意味着在 上接收到按键JFrame,而我将无法在其他应用程序中接收到它

如何让我的屏幕键盘“始终没有焦点”?是否可以使用另一种方法来发送按键?

0 投票
4 回答
13668 浏览

java - 如何使用 JLabel 添加水平间隙

我有一个 JLabel(实际上,它是一个 JXLabel)。

我在上面放了一个图标和文字。

<icon><text>

现在我想在组件的左侧添加一些间距,如下所示:

<space><icon><text>

我不接受通过修改图像来移动 JLabel 或添加间距的建议。

我只想知道如何使用纯 java 代码来做到这一点。

0 投票
6 回答
6857 浏览

java - 如何检查在Java中启动时按住的键

我正在尝试编写一个在程序首次启动时弹出的分辨率选择对话框。为了防止用户感到无聊,我想实现一个相当标准的功能,您可以使用复选框关闭该对话框,但通过在启动时按住 alt 键将其恢复。

不幸的是,没有明显的方法可以询问 java 当前是否正在按下给定的键。您只能通过 KeyListener 注册以获悉新的按键,但如果按键在应用程序启动之前启动,这将无济于事。

0 投票
6 回答
32493 浏览

java - 如何在 Java 运行时将面板动态添加到其他面板?

我正在尝试再次进入Java(已经有几年了)。我从来没有真正在java中做过任何GUI编码。我一直在使用 Netbeans 开始使用它。

在工作中使用 C# 中的 winforms 时,我使用用户控件来构建我的 UI 的一部分并将它们动态添加到表单中。

我一直在尝试JPanels在 C# 中使用类似用户控件。我创建了一个JPanel名为BlurbEditor. 这有一些简单的控件。我试图在按钮事件的运行时将它添加到另一个面板。

这是我认为可行的代码:

不幸的是,这不起作用。我究竟做错了什么?

0 投票
2 回答
128 浏览

java - 格式化程序覆盖的选择

当用户单击我要选择内容的文本字段时,我已将 a 应用于a FormatterJFormattedTextFieldFormatterFactory

焦点侦听器无法按预期工作,因为调用了格式化程序,最终导致值被重置,最终取消选择字段内容。我认为正在发生的事情是在值更改后,插入符号移动到最右边的位置,这会取消选择该字段。

有谁知道如何解决这个问题并正确选择字段内容?

0 投票
5 回答
1698 浏览

java - Swing:有没有办法区分用户引起的 ItemEvent 和应用程序引起的 ItemEvent?

我正在使用基于 Swing 的应用程序中的组合框,我很难弄清楚如何区分从用户事件生成的 ItemEvent 与由应用程序引起的 ItemEvent。

例如,假设我有一个组合框“ combo”,并且我正在使用我的 ItemListener“ listener”监听 itemStateChanged 事件。当用户将选择更改为第 2 项或我执行该行(伪代码)时:

combo.setSelection(2)

..似乎我无法区分这些事件。

也就是说,无论如何我都不是 Swing 专家,所以我想我会问。

谢谢!

0 投票
2 回答
3899 浏览

java - JEdi​​torPane 在显示 HTML 时是否存在字符集问题?

我有以下代码:

如果你运行它,你会注意到框架是空白的。但是,如果我从元标记中删除“; charset=ISO-8859-1”,就会显示 HTML。任何想法为什么以及我可以做些什么来防止这种情况(除了手动破解我无法控制的 HTML 字符串......)。

编辑 #1 - putProperty("Ignore-Charset", "true") 不幸的是没有区别。

0 投票
11 回答
10477 浏览

java - Java:Swing 库和线程安全

我经常听到有人批评 Swing 库中缺乏线程安全性。然而,我不确定我在自己的代码中会做什么可能会导致问题:

Swing 不是线程安全的事实在什么情况下发挥作用?

我应该积极避免做什么?

0 投票
5 回答
749 浏览

java - 打开字符串/实现按钮操作

完全免责声明:我是一名 CS 学生,这个问题与最近分配的面向对象编程的 Java 程序有关。尽管我们已经完成了一些控制台的工作,但这是我们第一次使用 GUI 和 Swing 或 Awt。我们得到了一些代码,该代码创建了一个带有一些文本的窗口和一个旋转不同颜色的文本按钮。然后我们被要求修改程序以创建颜色的单选按钮——这也是为了让我们练习研究 API。我已经提交了作业,并获得了导师的许可,可以在此处发布我的代码。

在 Java 中实现按钮操作的最佳方式是什么?经过一番摆弄,我创建了这样的按钮:

并添加了动作监听器......

已经为 actionPerformed 方法创建了一个存根,让我们了解如何使用它,但是由于模板中只有一个按钮,因此不清楚如何实现多个按钮。我尝试打开一个字符串,但很快意识到,由于字符串不是原始类型,我不能将它用于 switch 语句。我本可以即兴使用 if-else 链,但这是我想出的。这似乎远非优雅,必须有更好的方法。如果有,它是什么?有没有办法打开字符串?或者以更可扩展的方式选择一个动作?

0 投票
3 回答
884 浏览

java - ListCellRenderer 不在子组件上触发事件

以下 ListCellRenderer 不接收嵌套 ComboBox 上的单击事件。我需要启用某些东西吗?