Tag: 用户界面

如何修改JTextArea中tab键的行为?

我正在Java Swing中创建一个表单,其中一个字段是JTextArea 。 当我在所有其他字段上使用Tab键时,它会将焦点放在下一个窗口小部件上,但在JTextArea ,它会在文本中插入制表符(水平空格)。 我该如何修改此行为?

如何在Java的CardLayout中获得顶级卡片

是否可以在Java的CardLayout中获得顶级卡? 我已经尝试循环遍历每个组件以检查isVisible()的可见性,但似乎它们都是“可见的”。 编辑:通过“顶级卡”我的意思是当前处于“顶部”的那个,正在显示,而不是第一张或最后一张牌。 另外,我不知道它是否有帮助,但我正在寻找一个JPanel(或其子类) 编辑:代码段 for (Component component : getComponents()) { if (component instanceof JPanel && component.isVisible()) { currentPanel = (JPanel) component; System.out.println(currentPanel.getClass().getName()); } } 上面的代码总是打印出每个组件类的名称,无论它们是否是可见卡。 编辑 :我将此作为学校作业的一部分。 我不是想在这里获得免费赠品,作业并不围绕这种布局。 它似乎是在面板之间切换最方便的布局。 我的老师已经指定项目中没有第三方代码。 我之前看过camickr链接的实现,但我不能使用它。 我可以松散地实现它的类似function,也许在文档中提供它,但我不能简单地下载和使用它。 编辑 :我试图获得顶级卡的原因是因为我有一个带有“添加”按钮的工具栏。 我没有为我的两个可能的东西添加一个按钮,而是希望通过查看当前正在查看的面板来知道要添加哪个按钮。 如果还有其他更合适的方法,请告诉我。 编辑 :谢谢大家的帮助。 我弄清楚问题是什么。 我想这是我的错,因为我没有提供足够的细节。 我的两张牌是JScrollPane ,我还需要查看其中的内容,看看其中一个面板是否是我看到的那个。 我没有检查滚动窗格本身上的isVisible() ,我一直在查看它始终可见的争议,滚动窗格是我需要validation的可见性。 public JPanel getCurrentPanel() { JPanel currentPanel = null; for (Component […]

为什么这个简单的Java Swing程序会冻结?

下面是一个简单的Java Swing程序,它由两个文件组成: Game.java GraphicalUserInterface.java 图形用户界面显示“新游戏”按钮,然后显示编号为1到3的其他三个按钮。 如果用户点击其中一个编号按钮,游戏会将相应的数字打印到控制台上。 但是,如果用户单击“新游戏”按钮,程序将冻结。 (1)为什么程序会冻结? (2)如何重写程序来解决问题? (3)如何更好地编写程序? 资源 Game.java : public class Game { private GraphicalUserInterface userInterface; public Game() { userInterface = new GraphicalUserInterface(this); } public void play() { int selection = 0; while (selection == 0) { selection = userInterface.getSelection(); } System.out.println(selection); } public static void main(String[] args) { Game game […]

使用GridLayout时,是否可以将组件添加到特定网格单元?

当我将GridLayout设置为JPanel然后添加内容时,它随后以“文本顺序”(从左到右,从上到下)添加。 但我想在特定单元格中添加一个元素(在第j列的第i行)。 可能吗?

为setDefaultCloseOperation创建自定义操作?

我想让我的Java应用程序在按下“关闭”十字按钮时调用我自己的自定义函数。 据我所知,由于setDefaultCloseOperation根本没有重载,因此可能没办法。 知道如何实现这一目标吗?

如何在JScrollPane中实现位置敏感的缩放?

我正在尝试在JScrollPane实现位置敏感的缩放。 JScrollPane包含一个带有自定义paint的组件,它将自己绘制在分配的任何空间内 – 因此缩放就像使用MouseWheelListener一样容易,可以根据需要调整内部组件的大小。 但我也希望放大(或退出)一个点,以便在生成的放大(或 – )视图中将该点保持为中心(这就是我所说的’位置敏感’缩放),类似如何在谷歌地图中缩放工作。 我确信之前已经做过很多次了 – 有没有人知道在Java Swing下做“权利”的方式? 使用Graphic2D的转换而不是使用JScrollPanes会更好吗? 示例代码如下: package test; import java.awt.*; import java.awt.event.*; import java.awt.geom.*; import javax.swing.*; public class FPanel extends javax.swing.JPanel { private Dimension preferredSize = new Dimension(400, 400); private Rectangle2D[] rects = new Rectangle2D[50]; public static void main(String[] args) { JFrame jf = new JFrame(“test”); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.setSize(400, […]

用Java获取当前活动窗口的标题

我正在尝试编写一个Java程序来记录我每5秒使用一次的应用程序(这是一个时间跟踪器应用程序)。 我需要一些方法来找出当前活动窗口是什么。 我找到了KeyboardFocusManager.getGlobalActiveWindow(),但我无法让它正常工作。 最好是跨平台解决方案,但如果不存在,那么我正在使用X.Org开发Linux。 谢谢。

用Java构建GUI

您更喜欢构建GUI的机制是什么:从头开始或使用GUI构建软件?

使用Eclipse(Java)创建GUI

可能重复: eclipse的最佳GUI设计师? 是否有任何Eclipse插件工具可以帮助创建图形用户界面(swing,awt或swt),因为我厌倦了每次编写Panels,Labels,… 谢谢

如何阻止Java运行整个代码而不等待来自用户的Gui输入

我是Java的新手,我只是寻求一些帮助 我试图创建一个程序,允许用户输入gui的名称和>>百货商店的位置。 它允许这样但是程序不等待输入>细节它只是初始化Gui类并继续处理>处理将输入Gui的细节添加到数组列表中。 但尚未输入>详细信息,因此它创建了一个空值,因为它已经超前了。 那么我怎样才能让它停下来等到输入值然后提交? 这是代码的Gui组件: import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*; public class guiDepartment extends JFrame { private String depName; private String depLocation; private static Department newDepartment; private JTextField departmentDetails1; private JTextField departmentDetails2; private JTextField departmentDetails3; private Employee worksInInTheDepartment; public guiDepartment() { System.out.println(“bob the builder “); JButton submit; JButton b1; JFrame frame […]